【Android】 -- 使用UncaughtExceptionHandler捕捉全局异常

在综合统计SDK(欧盟统计局的朋友,百度统计)之后。有一个非常有利的功能测试:错误分析。此功能可以在程序的执行中遇到崩溃(runtimeException)反馈给server,帮助开发者提高产品。多功能适配器机。

然而在公司android开发中不集成这些SDK,那应该怎么实现这种功能呢?以下让我们来看下怎样使用UncaughtExceptionHandler来捕获异常。

首先实现创建一个类,实现UncaughtExceptionHandler接口。代码例如以下:

public class CrashHandler implements UncaughtExceptionHandler {

	@Override
	public void uncaughtException(Thread thread, Throwable ex) {
		//处理异常
		Log.e("崩溃",thread.getName()+ex.toString());
		//发送到server
		//dialog提醒
	}

}

有处理代码了。然后就须要触发它的地方:

在程序的入口activity的oncreate中加入:

Thread.setDefaultUncaughtExceptionHandler(new CrashHandler());

是不是very easy啊!

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-20 09:11:46

【Android】 -- 使用UncaughtExceptionHandler捕捉全局异常的相关文章

Android -- 使用UncaughtExceptionHandler捕获全局异常

在集成了统计SDK(友盟统计,百度统计等)之后,有一个非常有利于测试的功能:错误分析!此功能能够将程序在运行中碰到的崩溃(runtimeException)问题反馈到服务器,帮助开发者改善产品,多适配机器. 然而在公司android开发中不集成这些SDK,那应该怎么实现这样的功能呢?下面让我们来看下如何使用UncaughtExceptionHandler来捕获异常. 首先实现创建一个类,实现UncaughtExceptionHandler接口.代码如下: public class CrashHa

Android使用UncaughtExceptionHandler捕获全局异常

参考资料: http://blog.csdn.net/hehe9737/article/details/7662123 http://www.apkbus.com/android-128270-1-1.html http://www.cnblogs.com/freeliver54/archive/2011/10/17/2215423.html Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {//

【转】 Android自定义捕获Application全局异常

大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开发者分析和调试程序. 我们先建立一个crash项目,项目结构如图: 在MainActivity.ja

Android应用开发中全局异常的捕获

最近在做个项目,需要在程序出现运行时异常和错误导致程序crash时进行一些操作,找到一个方法 Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {// 给主线程设置一个处理运行时异常的handler public void uncaughtException(Thread thread, final Throwable ex) { ex.printStackTrace(); //当程序出现crash时

[四]SpringBoot 之 捕捉全局异常

在class注解上@ControllerAdvice, 在方法上注解上@ExceptionHandler(value = Exception.class),具体代码如下: package me.shijunjie.controller; import javax.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springfra

winform捕捉全局异常

/// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { try { //设置应用程序处理异常方式:ThreadException处理 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); //处理UI线程异常 Application.ThreadException += new Sys

WPF 捕捉全局异常

public App() { //首先注册开始和退出事件 this.Startup += new StartupEventHandler(App_Startup); this.Exit += new ExitEventHandler(App_Exit); } void App_Startup(object sender, StartupEventArgs e) { //UI线程未捕获异常处理事件 this.DispatcherUnhandledException += new Dispatche

捕获全局异常UncaughtExceptionHandler

标签:捕获全局异常,UncaughtExceptionHandler ========================网上相关博客======================== 参考:http://blog.csdn.net/jdsjlzx/article/details/7606423 Android自定义捕获Application全局异常 http://git.oschina.net/oschina/android-app 大家可以参考. 大家都知道,现在安装Android系统的手机版本和

Android全局异常捕捉

// 定义自定义捕捉 package com.xiaosw.test; import java.io.File; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; import java.lang.Thread.UncaughtExceptionHandler;