2012-10-18 88 views
17

我正在使用ACRA(Android的應用程序崩潰報告)在發生未處理的異常時發送數據。處理異常的Android ACRA

像openFileOutput()這樣的方法需要我嘗試並捕獲iOExceptions。由於異常處於try catch塊中,因此不會觸發ARCA。不過,我仍然希望收到並查看堆棧跟蹤。有什麼辦法可以達到這個目的嗎?

回答

27

如果處理IOException等沒有任何意義(也就是說,對此無能爲力),請將其包裝在RuntimeException中並扔掉。 ACRA將抓住並報告這一點。如果你不想崩潰的應用程序,捕獲並處理它,然後用handleException()手動發送報告:

ACRA.getErrorReporter().handleException(caughtException); 

更多細節here

+0

難道有重複發送例外防止ACRA任何選項? (重複的異常意味着來自特定設備的重複異常) –

+2

在服務器上去除重複的異常。你不能在客戶端合理地做到這一點,而不需要維護到目前爲止發送的* all *例外的數據庫。 –