繁体   English   中英

Google App Engine Java上的UncaughtExceptionHandler

[英]UncaughtExceptionHandler on Google App Engine Java

每当我的应用程序中存在未捕获的异常时,我都想执行一些自定义逻辑。 通常我会做类似的事情:

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;
    }
}

Servlet自行处理线程,因此您不应以这种方式弄乱线程。

相反,请安装servlet 错误处理程序

<error-page>
    <error-type>com.package.YourException</error-type>
    <location>/errors/handler</location>
</error-page>

然后使/errors/handler映射到处理错误并返回适当响应的servlet。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM