APP級別處理未捕獲異常

2021-09-20 11:32:51 字數 1390 閱讀 2677

前言:

那麼它們是如何處理沒有try-catch 捕獲到的異常 並 進行介面友好提示優化的處理呢。

這裡我們通過乙個demo學習一下。

一、建立乙個類 crashhandler 實現 uncaughtexceptionhandler 介面 , 當程式發生未捕獲異常時 由該類進行處理

public

class

crashhandler implements thread.uncaughtexceptionhandler

/*** 初始化

*/public

void

init(context context)

//實現uncaughexception方法

@override

public

void

uncaughtexception(thread thread, throwable ex)

else

catch

(interruptedexception e)

android.os.process.killprocess(android.os.process.mypid());

system.exit(1);}}

/** 錯誤處理

* */private

boolean solveexception(throwable e)

newthread()

}.start();

return

true

; }

}

在oncreate()方法中進行初始化

public

class

@override

public

void

oncreate()

}

別忘了在androidmanifest.xml中新增

android:allowbackup="true"

android:icon="@mipmap/ic_launcher"

三、模擬乙個異常

給乙個沒有繫結的textview賦值  , 空指標的異常 

public

class

mainactivity extends activity

});}

}

效果圖:

因為我們不可能給每乙個方法都try-catch。所以總會有沒有捕獲到的異常出現。

進行對未捕獲異常的處理,可以提高乙個使用者體驗。

開發者們 也可以 在這個處理中新增異常分析,將出現的異常裝置、原因、時間等資訊提交到自己的伺服器上方便以後分析。

APP級別處理未捕獲異常

前言 那麼它們是如何處理沒有try catch 捕獲到的異常 並 進行介面友好提示優化的處理呢。這裡我們通過乙個demo學習一下。一 建立乙個類 crashhandler 實現 uncaughtexceptionhandler 介面 當程式發生未捕獲異常時 由該類進行處理 public class ...

java 未捕獲異常的處理

當乙個執行緒因為未捕獲異常而退出時,jvm會把這個事件報告給應用程式提供的uncaughtexceptionhandler,如果handler不存在,預設的行為是向system.err列印出棧追蹤資訊。public inte ce uncaughtexceptionhandler 如何處理未捕獲異常...

WPF中未捕獲異常之處理

異常有兩類,一類是主線程異常,另一類是工作執行緒異常。一 主線程的未捕獲異常處理起來比較簡單 2 其次,事件函式可以如下 messagebox.show stringbuilder.tostring e.handled true 二 工作執行緒異常的捕獲 對於工作執行緒的未捕獲異常,也就是你主線程中...