2012-10-02 25 views
0

當發生異常時,我嘗試將其報告給日誌服務器。如何在android上全局捕獲錯誤?

我在使用Thread.setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler handler)時發現了一個繼承java.lang.RuntimeException的異常。 但我還沒有捕獲任何繼承了java.lang.Error的子類。 (例如OutOfMemoryError,IOError,...)

所以我使用Runtime.addShutdownHook(Thread hookThread),但從來沒有調用hookThread.run()方法。

如何在android上捕獲全局錯誤? 我不想使用另一個進程..我只是想嘗試報告日誌服務器上的錯誤。

對不起evertyone,我嘗試繼續捕獲錯誤拋出,並且我知道java.lang.Error也被捕獲。但不能在UncaughtExceptionHandler.uncaughtException()中運行實現的函數。

只是..打印日誌檢查。

+0

你可以使用'adb logcat'和一些合適的過濾器... – axis

+0

我想通過網絡發送日誌到服務器。 – Hogun

回答

0

我解決了它。只是我錯了。 我處理了Throwable對象來獲取日誌信息。 但我使用了Throwable.getCause()方法,當發生java.long.Error時,它是null。

在uncaughtException()方法中,當發生exeption時,不能完全打印日誌。

謝謝你,軸。