在做项目时,经常会把错误利用异常抛出去,这样在开发时就可以通过手机抛的异常排查错误,很方便。但是当程序开发完毕,版本稳定,需要上线时,为了避免抛出异常影响用户感受,可以捕获全局异常,对异常做出处理。
具体的实方法如下:
利用Thread.UncaughtExceptionHandler 获取异常,并对异常做出处理:
public class MyUncaughtExceptionHandler implements
Thread.UncaughtExceptionHandler {
private Thread.UncaughtExceptionHandler a;
MyUncaughtExceptionHandler(){
this.a = Thread.getDefaultUncaughtExceptionHandler();
}
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.i("huilurry","ppppppppppppp="+ex.getMessage());
//是否抛出异常
// if(a!=null)
// a.uncaughtException(thread, ex);
}
}
具体调用:
public class HuiLurryActivty extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String t=android.provider.Settings.System.getString(getContentResolver(), "android_id");
Log.i("huilurry","android_id="+t);
huilurry();
throw new NullPointerException("is null");
}
HandlerThread localHandlerThread;
Handler handler;
private void huilurry()
{
localHandlerThread=new HandlerThread("huilurry");
localHandlerThread.start();
handler=new Handler(localHandlerThread.getLooper());
Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtExceptionHandler());
}
}
主要是利用了Hander和HandlerThread。
源代码见:http://wangjun-memory.googlecode.com/svn/trunk/android.huilurry
分享到:
相关推荐
Android捕获全局异常并写日志保存到sd卡,捕获异常消息后输出这个消息,可避免APP强制退出,抛出NullPointException玩玩哈,捕获全局异常是因为有的异常我们捕获不到,捕获时我们采用同步方法,以免单例多线程环境下...
Android中捕获全局异常信息,并使用系统级对话框显示
Android 捕获全局异常处理,崩溃前弹出提示框,错误信息保存至本地文件或发送邮件,或上传至后台服务器。
Android捕获全局异常将错误信息发送到邮件,很好用的
实现UncaughtExceptionHandler拦截android异常,捕获全局异常,CrashHandler完整工程源码
android在产品上线以后为了能够实时捕获异常,需要写一个异常捕获的类,这个类在你遇到异常的时候会执行uncaughtException这个方法,然后你就可以对异常进行一些操作。
android为了防止应用崩溃 进行全局的捕获一下
该资源包含了一个android全局异常捕获的代码,当应用发生异常的时候,会将该异常存放到sdcard上。
android 全局异常处理 继承java.lang中的UncaughtExceptionHandler 的构造方法uncaughtException 来捕获异常
android全局异常捕获 exception_global
Android例子源码捕获应用全局异常避免强制退出并写出日志到sd卡
本实例配套博文《Android 异常捕获》http://www.cnblogs.com/scetopcsa/p/4237595.html
Android全局异常捕获CrashHandler
本资源文件是利用SpringMVC面向切面实现的一套捕获全局异常插入数据库的代码,刚开始想实现HandlerExceptionResolver,但是不知道为什么不起作用,又自己重新写了一套。
涵盖全局异常捕获以及服务器加密上传
Android全局异常捕获 保存
android全局异常捕获,全局捕获异常消息示例,当程序发生Uncaught异常的时候,有该类来接管程序,并记录错误日志,使用系统默认的UncaughtException处理类,实现自定义错误处理,收集错误信息 发送错误报告等操作,还...
Android 全局异常错误或崩溃捕捉。当出现崩溃,软件不会闪退,会出现弹出一个对话框,异常错误信息保存在sd卡一个文件夹下。后续需要还可以发送到服务器的。我博客网址: http://blog.csdn.net/qq_16064871。我写了...
自己编写异常类型 ,自定义错误异常进行全局捕捉。实现项目全局的拦截定义输出。。。
vb.net全局错误全局异常处理捕获,调用非常简单,再也不用担心意外错误!