java android 捕获未处理异常

java

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();

}

}

<application

android: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

回到顶部