每当我的应用程序中有未捕获的异常时,我都想做一些自定义逻辑。通常我会做类似的事情:
Thread.setDefaultUncaughtExceptionHandler(myCustomHandler);
但是,Thread
在 Google App Engine 上被锁定。上面的代码引发了一个安全异常。反正有没有在 Google App Engine 上实现类似的功能?
编辑:我已经将我的方法实现为 Servlet 过滤器。我在 Java Web 编程方面的经验相当有限。有人可以评论这种方法吗?由于 AppEngine 中的所有请求都源自 HTTP 请求,我认为这是一个全面的解决方案。
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
try {
chain.doFilter(request, response);
} catch (RuntimeException ex) {
// Work my magic here...
throw ex;
}
}