在做專案時,經常會把錯誤利用異常丟擲去,這樣在開發時就可以通過手機丟擲的異常排查錯誤。但是當程式開發完畢,版本穩定,需要上線時,為了避免丟擲異常影響使用者感受,可以用uncaughtexceptionhandler捕獲全域性異常,對異常做出處理。比如我們可以獲取到丟擲異常的時間、手機的硬體資訊、錯誤的堆疊資訊,然後將獲取到的所有的資訊傳送到伺服器中,也可以傳送到指定的郵件中,以便及時修改bug。
示例:自定義異常類實現uncaughtexceptionhandler介面,當某個頁面出現異常就會呼叫uncaughtexception這個方法,我們可以在這個方法中獲取異常資訊、時間等,然後將獲取到的資訊傳送到我們指定的伺服器
**如下:
/*** 自定義的 異常處理類 , 實現了 uncaughtexceptionhandler介面
* @author administrator *
*/public class mycrashhandler implements uncaughtexceptionhandler
public static synchronized mycrashhandler getinstance()else }
public void init(context context,doubanservice service)
public void uncaughtexception(thread arg0, throwable arg1) catch (exception e)
//乾掉當前的程式
android.os.process.killprocess(android.os.process.mypid());
}/**
* 獲取錯誤的資訊
* @param arg1
* @return
*/private string geterrorinfo(throwable arg1)
/*** 獲取手機的硬體資訊
* @return
*/private string getmobileinfo() catch (exception e) }}
**如下:
/*** @author administrator *
*/public noteentry entry;
@override
public void oncreate() }
android 捕獲全域性異常
很久以前就想弄這個,那會整了,沒弄出來。總是卡死,彈不出dialog,現在再試試,發現問題了,小記.這個說了怎麼使用 這個解決了為什麼不能彈出視窗提示 小記 1 現在的dialog 使用的context 必須是乙個activity,所以弄個baseactivity吧。2 在handlerexcept...
Android捕獲異常的實現
在除錯階段,我們可以用手機連著電腦 或者說模擬器 有問題了直接看日誌,定位錯誤 的位置,但是android機型成千上萬,或者測試沒有側到位,當使用者使用時出現了異常,直接crash了,第一使用者體驗不好,第二,使用者不會告訴你怎麼出現的bug,你也無法在下乙個版本中修改這些問題 android提供了...
android捕獲程式異常退出
今天看到迅雷動漫裡面乙個crashhandler 的類,我猜是崩潰處理類。進去一看。果然。順便學習一下。android系統的 程式異常退出 給應用的使用者體驗造成不良影響。為了捕獲應用執行時異常並給出友好提示,便可繼承 uncaughtexceptionhandler 類來處理。通過thread.s...