android捕获全局异常,并对异常做出处理-阿里云开发者社区

开发者社区> 技术小胖子> 正文

android捕获全局异常,并对异常做出处理

简介:
+关注继续查看

 

在做项目时,经常会把错误利用异常抛出去,这样在开发时就可以通过手机抛的异常排查错误,很方便。但是当程序开发完毕,版本稳定,需要上线时,为了避免抛出异常影响用户感受,可以捕获全局异常,对异常做出处理。

具体的实方法如下:

利用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

 

 

     本文转自xyz_lmn51CTO博客,原文链接:http://blog.51cto.com/xyzlmn/818180,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Android 异步操作】AsyncTask 异步任务 ( 参数简介 | 方法简介 | 使用方法 | AsyncTask 源码分析 )
【Android 异步操作】AsyncTask 异步任务 ( 参数简介 | 方法简介 | 使用方法 | AsyncTask 源码分析 )
7 0
【FluidSynth】FluidSynth 简介 ( 相关资源链接 | 简介 | 特征 )
【FluidSynth】FluidSynth 简介 ( 相关资源链接 | 简介 | 特征 )
9 0
史上最全VSCode插件,怪不得写代码头疼,VSCod安装与配置(适合小白)
史上最全VSCode插件,怪不得写代码头疼,VSCod安装与配置(适合小白)
4 0
【Android 异步操作】FutureTask 分析 ( Future 接口解析 | Runnable 接口解析 | Callable 接口解析 )
【Android 异步操作】FutureTask 分析 ( Future 接口解析 | Runnable 接口解析 | Callable 接口解析 )
6 0
【计算机网络】计算机网络 相关概念 ( 计算机网络概念 | 计算机网络功能 | 组成 | 工作方式 | 功能组成 | 分类 )
【计算机网络】计算机网络 相关概念 ( 计算机网络概念 | 计算机网络功能 | 组成 | 工作方式 | 功能组成 | 分类 )
8 0
【Android 异步操作】FutureTask 分析 ( Future 接口解析 | Runnable 接口解析 | Callable 接口解析 )
【Android 异步操作】FutureTask 分析 ( Future 接口解析 | Runnable 接口解析 | Callable 接口解析 )
3 0
【Android 异步操作】AsyncTask 异步任务 ( FutureTask 模拟 AsyncTask 执行过程 | AsyncTask 执行过程回顾 | FutureTask 分析 )
【Android 异步操作】AsyncTask 异步任务 ( FutureTask 模拟 AsyncTask 执行过程 | AsyncTask 执行过程回顾 | FutureTask 分析 )
5 0
【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
4 0
【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
4 0
【Android 异步操作】AsyncTask 异步任务 ( AsyncTask 异步任务执行方法 execute 方法相关源码解析 )
【Android 异步操作】AsyncTask 异步任务 ( AsyncTask 异步任务执行方法 execute 方法相关源码解析 )
10 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载