如何在android上全局捕获Error?

时间:2012-10-02 12:25:02

标签: android

发生异常时,我尝试将其报告给日志服务器。

我发现了一个在使用Thread.setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler handler)时继承了java.lang.RuntimeException的异常。 但我没有捕获任何继承了java.lang.Error的子类。 (例如OutOfMemoryError,IOError,...)

所以我使用Runtime.addShutdownHook(Thread hookThread),但永远不会调用hookThread.run()方法。

如何在android上全局捕获错误? 我不想使用其他进程..我只是想尝试报告日志服务器上的错误。

抱歉evertyone,我试图继续捕获错误throwable,我知道java.lang.Error也被抓住了。但是没有在UncaughtExceptionHandler.uncaughtException()中运行已实现的函数。

只是打印日志以供检查。

1 个答案:

答案 0 :(得分:0)

我解决了。只是我错了。 我处理了Throwable对象以获取日志信息。 但我使用了Throwable.getCause()方法,当发生java.long.Error时,它为null。

在uncaughtException()方法中,当发生exeption时,不能完全打印日志。

谢谢你,轴。