您的位置:首页 > 其它

应用的异常处理器

2015-12-03 12:59 369 查看
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.lang.Thread.UncaughtExceptionHandler;

import android.app.Application;
import android.os.Environment;

public class MyApplication extends Application {

@Override
public void onCreate() {
super.onCreate();

// 设置异常的处理器
Thread.currentThread().setUncaughtExceptionHandler(
new MyUncaughtExceptionHandler());
}

private class MyUncaughtExceptionHandler implements
UncaughtExceptionHandler {

// 异常处理器处理的代码 先输出日志 再自杀
@Override
public void uncaughtException(Thread thread, Throwable ex) {
// 死前的遗言
System.out.println("发现一个异常,但是被哥捕获了!");
ex.printStackTrace();//异常打印到控制台
PrintStream err;
try {
err = new PrintStream(new File(Environment
.getExternalStorageDirectory().getAbsoluteFile()
+ "/error.txt"));
ex.printStackTrace(err);// 把异常收集到文件
} catch (FileNotFoundException e) {
e.printStackTrace();
}

// 和java类中的process区分 // 自杀 闪退 // 杀死本进程
android.os.Process.killProcess(android.os.Process.myPid());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: