2012-12-11 30 views
2

我正在使用遠程異常處理的應用程序。也就是說,如果某個異常發生在某處,那麼該應用程序會正常關閉,並在我們的服務器上的日誌中生成報告。我爲此使用了UncaughtExceptionHandler接口,除了它看起來並沒有捕獲實際上是錯誤的Throwable之外,它運行良好。UncaughtExceptionHandler在Android中的錯誤

很明顯,最好的解決方案是處理所有事情,並且/或者不允許任何事情首先拋出錯誤。但是,爲了徹底的錯誤處理,我希望能夠捕獲意外的錯誤以及異常。我無法在Android中找到任何類似UncaughtErrorHandler的東西,有誰知道這樣的事情是否可能?

回答

1

通常無法捕捉錯誤:通常一旦發生錯誤,您無法實際攔截它。據我所知,在Java語言中沒有完全支持的機制來捕捉這些機制,而且Android上也沒有任何機制。

0

您可能想要查看幾個SDK,如Crittercism。實現你想要的基本方法是使用Thread.setDefaultUncaughtExceptionHandler()

+1

Thread.setDefaultUncaughtExceptionHandler()與Thread.setUncaughtExceptionHandler()有什麼不同?它在文檔中似乎是一樣的。 – Dave

+0

我不太確定,因爲我以前從未使用過。但是沒有辦法確保您的應用程序正常退出,AFAIK。用這種方法你只能用這個例外做些事情。 –