1.java 1.5版本出现的 UncaughtExceptionHandler

当线程由于未捕获异常突然终止时调用的处理程序的接口。

当一个线程由于未捕获异常即将终止时,Java虚拟机将使用thread . getuncaughtexceptionhandler()查询线程的uncaughtException处理程序,并调用处理程序的uncaughtException方法,将线程和异常作为参数传递。如果一个线程没有显式地设置它的UncaughtExceptionHandler,那么它的ThreadGroup对象就充当它的UncaughtExceptionHandler。如果ThreadGroup对象没有处理异常的特殊要求,它可以将调用转发给默认的未捕获异常处理程序。

2. 方法

3.异常分类

我们知道java的异常分为

1.非检查异常
非检查异常为 Error 和 RuntimeException 及其子类, javac 在编译时,不会提示和发现这样的
异常,不要求在程序处理这些异常。所以如果愿意,我们可以编写代码处理(使用 try…catch…finally )
这样的异常,也可以不处理。对于这些异常,我们应该修正代码,。如除 0 错误 ArithmeticException ,
错误的强制类型转换错误 ClassCastException ,数组索引越界 ArrayIndexOutOfBoundsException ,
使用了空对象 NullPointerException 等等
2、检查异常
检查异常则是除了 Error 和 RuntimeException 的其它异常。javac强制要求程序员为这样的异常做预备
处理工作(使用 try…catch…finally 或者 throws )。在方法中要么用try-catch语句捕获它并处理,要么用 throws 子句
声明抛出它,否则编译不会通过。如 SQLException , IOException , ClassNotFoundException 等。

4.UncaughtExceptionHandler的使用

很多时候我们写完代码,运行之后老是会报异常。却没发现应该去捕获它。在多线程的情况下,主线程无法捕捉到异常信息。所以我们一般会实现 UncaughtExceptionHandler 做异常处理。

4.1定义一个线程。模拟抛出空指针异常

4.2 自定义一个异常处理

4.3定义一个线程,并且模拟异常

运行main方法,得出结果: 说明我们已经捕获到此线程的异常信息。

 

作者:litGrey
来源链接:https://blog.csdn.net/luChenH/article/details/93327319

java 之 UncaughtExceptionHandler异常处理机制的更多相关文章

  1. Java 中的异常处理机制

    生活中的异常:  不能够完整而顺利的完成一些工作 根据不同的异常进行相应的处理,而不会就此终端我们的生活 引出:  异常处理: 方式:  1.选择结构(逻辑判断)避免 demo:if逻辑处理异常 im ...

  2. Java中的异常处理机制的简单原理和应用?

    程序运行过程中可能出现各种"非预期"情况,这些非预期情况可能导致程序非正常结束. 为了提高程序的健壮性,Java提供了异常处理机制: try { s1... s2... s3... ...

  3. 16、java中的异常处理机制

    异常:就是程序在运行时出现不正常情况.异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述.并封装成对象. 其实就是java对不正常情况进行描述后的对象体现. 对于问题的划 ...

  4. Java面向对象编程之异常处理机制

    一:Java的异常处理机制的优点: 1:把各种不同情况的异常情况分类,使用JAVA类来表示异常情况,这种类被称为异常类.把各种异常情况表示成异常类,可以充分的发挥类的可扩展性和可重用性. 2:异常流程 ...

  5. 黑马程序员——JAVA基础之异常处理机制

    ------- android培训.java培训.期待与您交流! ---------- 异常:就是程序在运行时出现不正常情况. 异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式 ...

  6. java中的异常处理机制

    java异常处理机制 1)在java语言中,通常将可能出现异常的语句放入try{}语句中,将出现错误后需要执行的语句放入到catch{}语句中,将无论是否发生异常都要执行的语句放在finally{}语 ...

  7. Java基础(四)-异常处理机制及其设计

    本篇主要是记录自己所理解的Java异常处理机制(基于jdk1.7)以及怎么去处理和设计异常.还记得当初学习Java异常这块的时候都没怎么注意它的用途,以为就是简单的处理下异常,我避免程序出现这样错误就 ...

  8. Java基础之异常处理机制

    在Java中,异常分为编译时异常和运行时异常. 编译时异常又叫编译时被监测的异常:在程序编译过程中监测到非运行时异常的异常,出现该异常要么向上抛出,要么捕获处理.运行时异常(runtimeExcept ...

  9. JAVA学习之 异常处理机制

    今天就来说说java的异常处理机制,异常处理不是第一接触,尤其是写过非常多c#的代码,基本都会写到异常处理的代码,事实上c#的异常处理与java的异常处理基本都是一样的,仅仅是在一些细节上不是非常一样 ...

  10. Java中的异常处理机制《》

    异常机制已经成为判断一门编程语言是否成熟的标准,异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性. Java异常机制主要依赖于try.catch.finall ...

随机推荐

  1. JAVA虚拟机25---编译器,解释器,JAVA中的即时编译

    https://www.cnblogs.com/somefuture/p/14272221.html 1.简介 编译器:是一种计算机程序,负责把一种编程语言编写的源码转换成另外一种计算机代码,后者往往 ...

  2. ColorFolder文件管理工具使用教程

    ColorFolder ColorFolder Mac中文版是Mac上的一款文件夹图标修改工具,可以帮助您一键改变文件夹的颜色.帮助你更好的保持良好排序和分类,让你的文件显得更有条理,并有效提高文件管 ...

  3. 功放世界web新手区

    第一题:view_source: 顾名思义就是查看网页源代码,按一下f12就ok 第二题:robots协议 换言之就是,robots协议告诉了我们,什么可以爬,什么不可以爬,要是觉得坐牢没什么,那就可 ...

  4. JZOJ 5415. 【NOIP2017提高A组集训10.22】公交运输

    题目 城市中有一条长度为 \(n\) 的道路,每隔 \(1\) 的长度有一个公交车站,编号从 \(0\) 到 \(n\),学校在 \(0\) 号车站的位置.其中每个公交车站(除了 \(n\) 号车站) ...

  5. Uncaught ReferenceError: Cannot access 'constantRouterMap' before initialization

    这个问题可以在 main.js 中,调整 import  store from '@/store 和  import router from @/router 的先后顺序进行解决 router 在 s ...

  6. 原生javascript解锁恶心的CSDN强制关注才能阅读让文章自动展开(转部分内容)

    此时你可以打开chrome浏览器的开发者工具 快捷键F12, 然后切换到Console界面 然后复制上面的javascript代码 var article_content=document.getEl ...

  7. CF468E Permanent 题解

    考虑暴力状压 DP. 按行 DP,记录列哪些被选过,可以做到 \(O(2^kk^2)\). 注意到某一列扫完了之后这一列选没选过不重要,可以减少这里的状态. 简单优化一下,每次选择最少的一列,使这一列 ...

  8. Linux 磁盘扩容

    原文链接:https://blog.csdn.net/zzq100zzq/article/details/125178843 一.查看系统磁盘1.使用df -hl ,查看系统的磁盘使用情况二.linu ...

  9. 重写父类的ToString

    我们任何对象调用ToString的时候,打出来的都是这个类的命名空间的名字 using System; using System.Collections.Generic; using System.L ...

  10. leetcode 30. 串联所有单词的子串 【时间击败 90.28%】 【内存击败 97.44%】

    这道题让我从早做到晚-3--- 设len=words[0].length(). 一开始我按照words的顺序扩大区间,发现这样就依赖words的顺序.之后改成遍历s的所有长度为len*words.le ...