その場合、try/catch ブロックで例外をラップします。問題は、どこでそれを行うべきかということです。
DWR には、Java サーブレット API のフィルターによく似たフィルター メカニズムがあります。
次のように書くことができます。
public class ExceptionFilter implements org.directwebremoting.AjaxFilter {
public Object doFilter(Object obj, Method method, Object[] params, AjaxFilterChain chain) throws Exception {
Object res;
try{
res = chain.doFilter(obj, method, params);
} catch(Exception e){
// throw your Exception with no "extra" data
throw new RuntimeException();
}
return res;
}
}
dwr.xml ファイルでいくつかの構成を行う必要がある場合があります (これについては、お読みください: http://directwebremoting.org/dwr/documentation/server/configuration/dwrxml/filters.html )
(編集1)もう少し説明:
これが行うことは、DWR リモート呼び出しをインターセプトし、その呼び出しを実行チェーンに転送することです。その呼び出し (chain.doFilter) に追加したのは、try/catch ブロックです。コードが例外をスローする必要がある場合、それは catch ブロックで終了し、次に何をするかはあなた次第です。
これがお役に立てば幸いです:]