*Curl ORB for Java version 0.6 がリリースされました。リリースノートはこちら。
Curl ORBは、サーバサイドで発生したExceptionを、クライアントサイドでcatchすることができます。また、サーバサイドで定義したExceptionをクライアントの任意のExceptionにマッピングすることができます。
Exceptionハンドリング
通常サーバサイドにてExceptionが発生した場合、クライアントサイドではCOM.CURLAP.ORB.SERVLET.ORBServerExceptionというExceptionとしてcatchすることができます。サーバサイドにて発生したExceptionクラス名を取得するには、このORBServerExceptionのexception-content.exception-nameで取得できます。また、メッセージはexception-content.messageで取得できます。
{try |
また、サーバ通信に関係ない場合に発生するExceptionはORBClientExceptionとなります。
Exceptionバインディング
サーバサイドにて発生したExceptionに対して、クライアントサイドのExceptionにマッピングすることができます。例えば、サーバサイドのtest.SVExceptionをTEST.CLExceptionにマッピングすることができます。マッピングしますとクライアントサイドでは、TEST.CLExceptionをcatchできるようになります。このマッピングにはset-exceptions-mapプロシージャを利用します。
{import * from TEST} || arg1:java exception (String) || 複数登録可能 || 同一のCLExceptionにまとめることも可能 {try || サーバサイドでtest.SVExceptionが発生する可能性のあるコード |
注意)
Curl ORB 0.5 アルファ版では、第2引数をStringで指定するようになっています。
{import * from TEST} || arg1:java exception (String) {try || サーバサイドでtest.SVExceptionが発生する可能性のあるコード |