自动捕获BlazeDS远程处理方法引发的所有异常?
是否有办法自动捕获BlazeDS远程处理方法引发的所有(未检查)异常,而不是将每个异常都包含在最后一个try/catch块中?我的代码根据需要捕获任何检查的异常,但我更喜欢流浪的NullPointerExceptions,ArrayIndexOutOfBoundsExceptions等最终不会被设置为客户端。自动捕获BlazeDS远程处理方法引发的所有异常?
我会建议使用Spring-BlazeDs集成项目。其中一个好处是可以解决您的问题的ExceptionTranslator机制,我写了一篇文章here。
如果你不能使用Spring,你可以看看BlazeDS源代码并添加你自己的拦截器。 BlazeDS代码很干净,不难理解。
看看Thread.setDefaultUncaughtExceptionHandler,我想它会给你你想要的。
谢谢,我不知道这件事,但我不认为它适用于我的情况。我的代码中未捕获到的所有异常都将被BlazeDS捕获,并且不会使其成为默认处理程序。我想要一种方法在Blaze获得它们之前抓住它们,或者如果BlazeDS支持它,也许是某种过滤器。 – fizban 2010-07-07 17:18:03
你可能会看看你可以用面向Aspect的编程来完成什么。 (例如AspectJ)。这是非常强大的,让你在编译时或运行时做很多事情。 – 2010-07-07 20:54:45
谢谢!不幸的是,我们的项目没有使用Spring,但我会在BlazeDS源代码中做更多的探索,看看我能找到什么。 – fizban 2010-07-08 12:02:19