2012-12-11 32 views
2

我正在使用远程异常处理的应用程序。也就是说,如果某个异常发生在某处,那么该应用程序会正常关闭,并在我们的服务器上的日志中生成报告。我为此使用了UncaughtExceptionHandler接口,除了它看起来并没有捕获实际上是错误的Throwable之外,它运行良好。UncaughtExceptionHandler在Android中的错误

很明显,最好的解决方案是处理所有事情,并且/或者不允许任何事情首先抛出错误。但是,为了彻底的错误处理,我希望能够捕获意外的错误以及异常。我无法在Android中找到任何类似UncaughtErrorHandler的东西,有谁知道这样的事情是否可能?

回答

1

通常无法捕捉错误:通常一旦发生错误,您无法实际拦截它。据我所知,在Java语言中没有完全支持的机制来捕捉这些机制,而且Android上也没有任何机制。

0

您可能想要查看几个SDK,如Crittercism。实现你想要的基本方法是使用Thread.setDefaultUncaughtExceptionHandler()

+1

Thread.setDefaultUncaughtExceptionHandler()与Thread.setUncaughtExceptionHandler()有什么不同?它在文档中似乎是一样的。 – Dave

+0

我不太确定,因为我以前从未使用过。但是没有办法确保您的应用程序正常退出,AFAIK。用这种方法你只能用这个例外做些事情。 –