首页 > 代码库 > Android全局捕获异常处理

Android全局捕获异常处理

很多时候我们在程序运行的时候,一旦出现了一个异常,而我们在程序中没有捕捉到,没有处理,就会弹出一个

对话框,导致程序崩掉,这种情况的用户体验极差,接下来就来说如何解决这个问题,程序中任何漏掉的异常处理我们都可以

捕捉到,就是全局异常捕获,代码如下:

 1 package com.qdsj.hxcmjj.util; 2  3 import java.lang.Thread.UncaughtExceptionHandler; 4  5 import android.app.ProgressDialog; 6 import android.content.Context; 7  8 /** 9  * 异常处理类10  * @author jansin11  *12  */13 public class CrashHandler implements UncaughtExceptionHandler {14     public static final String TAG = "CrashHandler";15     private static CrashHandler INSTANCE = new CrashHandler();16     private Context mContext;17     ProgressDialog loadingDialog;18 19     private CrashHandler() {20     }21 22     public static CrashHandler getInstance() {23         return INSTANCE;24     }25 26     public void init(Context ctx) {27         mContext = ctx;28         Thread.setDefaultUncaughtExceptionHandler(this);29         30         //初始化异常处理类31     }32 33     @Override34     public void uncaughtException(Thread arg0, Throwable arg1) {35     36         //捕获到异常后在这里做处理37     }38 39 40 }
UncaughtExceptionHandler全局异常捕获类 如代码中所示

有了这个自定义类之后,我们还需要在程序运行之前对异常处理类进行初始化,最好是在application类中对全局异常捕获类进行初始化
有了这个类之后,就可以解决我们遗漏的异常捕获导致程序奔溃的问题了。

 

Android全局捕获异常处理