安卓異常分為兩類:CheckedException 和 UnCheckedException
CheckException:在編譯代碼時就需要進行try()catch捕獲的。UnCheckException:所有的運行時異常,RuntimeException類和他的子類,都是在APP運行的過程中的發生的。即:APP在運行的過程中崩潰了,這種異常我們就成為運行時異常(比如空指針),當APP崩潰的時候,給用戶的體驗很不好,所以我們應該捕獲這個異常進行處理(彈個界面啦),然后更好的方案是獲取到這個異常后,把他傳回服務器,這樣我們在開發的時候就知道APP哪里的代碼有問題了說了半天到底怎么捕獲呢?安卓提供了一個接口:UncaughtExceptionHandler 這個接口是Thread類的內部接口,有相應的方法:Thread.getDefaultUncaughtExceptionHandler()Thread.setDefaultUncaughtExceptionHandler()通常的方案就是在項目的application中,調用Thread.setDefaultUncaughtExceptionHandler(),注意這個方法需要一個實現了UnCaughtExceptionHandler接口的對象,我們可以自定義一個類實現這個接口,然后在onUncaughtException()方法中就可以拿到導致APP崩潰的異常了。新聞熱點
疑難解答