java android 捕获未处理异常
1. 定义一个异常处理类
public class ExceptionHandler implements Thread.UncaughtExceptionHandler {public ExceptionHandler()
{
Thread.setDefaultUncaughtExceptionHandler(this);
}
@Override
public void uncaughtException(Thread thread, Throwable ex) {
final StringWriter sw = new StringWriter();
final PrintWriter pw = new PrintWriter(sw, true);
ex.printStackTrace(pw);
String errMsg = sw.getBuffer().toString();
Log.d("未捕获的错误:", errMsg);
System.out.println(errMsg);
}
}
2. 定义一个App启动程序类,在onCreate方法中注册异常处理类,并在 AndroidManifest.xml 中注册启动程序类。
import android.app.Application;public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
new ExceptionHandler();
}
}
<applicationandroid:name=".MyApp" ... />
3.手动引发一个异常以测试我们的程序。
import android.app.Activity;import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int a = 1;
int b = 0;
int c = a/b;
System.out.println(c);
}
}
以上是 java android 捕获未处理异常 的全部内容, 来源链接: utcz.com/z/394598.html