UncaughtExceptionHandler示例使用

2023-11-02

概述

UncaughtExceptionHandler是用来catch线程内的没有被捕获到的exception,可以在uncaughtException方法中对这些异常进行统一处理。

用法

UncaughtExceptionHandler是一个接口,需要我们手动去实现一个类,如下:

class CrashHandler(var mContext: Context) : Thread.UncaughtExceptionHandler {
    var threadCrashHandler: Thread.UncaughtExceptionHandler? = null
    init {
        //获取系统默认的UncaughtException处理器
        threadCrashHandler = Thread.getDefaultUncaughtExceptionHandler()
        //设置该CrashHandler为程序的默认处理器
        Thread.setDefaultUncaughtExceptionHandler(this)
    }

    override fun uncaughtException(t: Thread, e: Throwable) {
//        handleException(e)
        LogUtil.instance.d(t.name + "   " + e.message)
        //退出程序
        Process.killProcess(Process.myPid())
        exitProcess(1)
    }

    /**
     * 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.
     *
     * @param ex
     * @return true:如果处理了该异常信息;否则返回false.
     */
    private fun handleException(ex: Throwable?): Boolean {
        return true
    }


    companion object {
        fun newInstance(context: Context): CrashHandler {
            return CrashHandler(context)
        }

        const val TAG = "CrashHandler"
    }
}

我们实现UncaughtExceptionHandler接口并重写其中的uncaughtException方法以处理异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UncaughtExceptionHandler示例使用 的相关文章

随机推荐

  • 【react】js创建虚拟dom

    1 创建 React createElement 标签名 标签属性 标签内容 2 渲染 ReactDOM render Dom 容器节点 注 jsx可以用于多标签嵌套的情况 写起来比较方便 但是jsx的写法浏览器识别不了 所以在script
  • Android Long SMS

    Android Long SMS SEND ap在发送long sms之前 会调用Framework的SmsManager的divideMessage 函数 将信息进行切分 然后sendMultipartTextMessage 判断是否为l
  • 粒子群算法应用——求解多峰函数

    一 问题概述 粒子群算法求解多峰函数 函数表达式 z 1 cos 1 1 x 1 2 cos 2 1 x 2 3 cos 3 1 x 3 4 cos 4 1 x 4 5 cos 5 1 x 5 1 cos 1 1 y 1 2 cos 2 1
  • Spring Boot + Vue3前后端分离实战wiki知识库系统<十二>--用户管理&单点登录开发一...

    目标 在上一次https www cnblogs com webor2006 p 17533745 html我们已经完成了文档管理的功能模块开发 接下来则开启新模块的学习 用户登录 这块还是有不少知识点值得学习的 先来看一下整体的效果 关于
  • 我的微博 http://t.sina.com.cn/wangtianping

    我的微博 http t sina com cn wangtianping
  • OpenCV中SVM的参数具体设置

    CvSVMParams CvSVMParams svm type CvSVM C SVC kernel type CvSVM RBF degree 0 gamma 1 coef0 0 C 1 nu 0 p 0 class weights 0
  • 数据提取之正则

    1 什么是正则表达式 用事先定义好的一些特定字符 及这些特定字符的组合 组成一个规则字符串 这个规则字符串用来表达对字符串的一种过滤逻辑 2 正则表达式的常见语法 知识点 正则中的字符 正则中的预定义字符集 正则中的数量词 正则的语法很多
  • cpu如何区分指令和数据

    cpu如何区分指令和数据 我们知道指令是操作码 地址码组成 以二进制的形式存放在内存中 数据也是以二进制的形式存放在内存中 那么当cpu去访问内存的存储单元时 怎么区分现在读取的是指令还是数据呢 冯诺依曼计算机是根据指令周期的不同阶段 来区
  • 交叉编译bluez-5.3及解决No default controller available文件解决

    Bluez作为当前最成熟的开源蓝牙协议栈 在Linux的各大发行版中已经得到了广泛的应用 在桌面环境下 使用Bluez应该已经没有太大的问题 本文的主要目的是介绍在嵌入式平台上 搭建和配置Bluez的各个Profile运行所需做的工作 讨论
  • android学习笔记-------notification类显示通知

    notification类可以对程序设置推送信息 就是对状态栏的信息进行推送 首先需要一个NotificationManager来对通知进行管理 调用Context的getSystemService 方法获取到 创建一个Notificati
  • AES加解密local_policy.jar包下载

    AES加密 AES加密的五种模式 ECB Electronic Codebook Book 电码本模式 将明文分成若干段相同的小段 不足补齐 然后依次对每一小段进行加密后输出密文 ECB模式的弱点在于 相同的明文会产生相同的密文 容易遭到字
  • 【转载】C#之密封类(sealed class)

    C 之密封类 sealed class 密封类 sealed 修饰符可以应用于类 实例方法和属性 密封类不能被继承 密封方法会重写基类中的方法 但其本身不能在任何派生类中进一步重写 当应用于方法或属性时 sealed 修饰符必须始终与 ov
  • 单细胞测序的原理及应用

    单细胞测序技术自2009年问世 2013年被Nature Methods评为年度技术以来 越来越多地被应用在科研领域 2015年至今 10X Genomics Drop seq Micro well Split seq等技术的出现 彻底降低
  • LeetCode - 数独类题目总结

    什么是数独 数独是源自18世纪瑞士的一种数学游戏 是一种运用纸 笔进行演算的逻辑游戏 玩家需要根据9 9盘面上的已知数字 推理出所有剩余空格的数字 并满足每一行 每一列 每一个粗线宫 3 3 内的数字均含1 9 不重复 1 数独盘面是个九宫
  • PS工具的使用

    PS工具的使用 要求 1 会简单的抠图 2 会简单的修改PSD效果图 3 熟练的切图 4 与设计师 美工沟通 1 按拖拽工具 可以将其他的图片拖拽到另一个图片里面去 2 ctrl T可以改变图像的大小 变换过程中 按住shirt键 可以等比
  • JS逆向04之xhr断点webpack抠代码,图文并茂,导出加密函数。

    说明 本文只针对新手入门了解 高手绕道 只做技术性研究 请勿用于非法渠道 目标 https www gm99 com 前言 1 首先准备Chrome内核浏览器 我用的360极速版浏览器 2 打开目标网址 按F12或者网页空白处右键审查元素
  • 1 如何在计算机中表示一个词的意思?

    本章主要介绍了 如何在计算机中表示一个词的意思 从WordNet OneHot 到最重要的Word2Vec算法 参考 https www zhihu com column c 1507074362628374528 https zhuanl
  • Linux服务器-Linux服务器的类型

    Linux系统发行版本 当前市面上流行的Linux系统主要分为Readhat和Debian两大系列 而android底层直接用linux原版内核 2 一 Redhat系列 Redhat 主要是服务器型Linux 商用收费 RHEL是Red
  • CSS ul li 缩进控制,各版本兼容设置,文章第一行缩进两汉字

    CSS ul li 缩进控制 各版本兼容设置 将margin 和padding 都设置成0 ul list style type none margin 0px padding 0px text indent 2em 这句话的目的就是为了让
  • UncaughtExceptionHandler示例使用

    概述 UncaughtExceptionHandler是用来catch线程内的没有被捕获到的exception 可以在uncaughtException方法中对这些异常进行统一处理 用法 UncaughtExceptionHandler是一