Java中Throwable分为ExceptionError: 
出现Error的情况下,程序会停止运行。 
Exception分为RuntimeException非运行时异常。 
非运行时异常必须处理,比如thread中sleep()时,必须处理InterruptedException异常,才能通过编译。 
而RuntimeException可以处理也可以不处理,因为编译并不能检测该类异常,比如NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException等。(运行时异常在编译阶段是无法检测出来的,非运行时异常在编译阶段是可以检测出来的,比如你使用了一个sleep()函数,会强制要求你throws,并且try catch)

由此题目所诉情形下发生的应该是RuntimeException,属于未检测异常,编译器不会检查该异常,可以处理,也可不处理。 
所以这里存在两种情形:

如果该异常被捕获或抛出,则程序继续运行。 
如果异常没有被捕获该线程将会停止执行。

Thread.UncaughtExceptionHandler是用于处理未捕获异常造成线程突然中断情况的一个内嵌接口。当一个未捕获异常将造成线程中断的时候JVM会使用Thread.getUncaughtExceptionHandler()来查询线程的UncaughtExceptionHandler,并将线程和异常作为参数传递给handler的uncaughtException()方法进行处理

实例:

1.未处理的RuntimeException,发生异常后程序停止运行

public class Main1 {

public static void main(String[] args){
            int x = 1;
            x = x / 0;
            System.out.println("x = "+x);
    }
}

输出:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at microsoft2018.Main1.main(Main1.java:14)

2.程序处理RuntimeException,发生异常后继续运行

public class Main1 {

public static void main(String[] args){
        try{
            int x = 1;
            x = x / 0;
        }catch(Exception e){
            System.out.println("除0错误");
            e.printStackTrace();
        }

System.out.println("继续执行");
    }
}

输出:

除0错误
java.lang.ArithmeticException: / by zero
    at microsoft2018.Main1.main(Main1.java:14)

继续执行

多线程:一个线程在运行时发生异常会怎么样?相关推荐

  1. 高并发编程-捕获线程运行时的异常 + 获取调用链

    文章目录 概述 捕获线程运行时的异常 使用场景 UncaughtExceptionHandler 接口 示例 获取调用链 使用线程池的场景: 获取线程运行时异常 概述 捕获线程运行时的异常 我们看下T ...

  2. JSP Tomcat8.0运行连接池时发生异常【AbstractMethodError oracle.jdbc.driver.T4CConnection.isValid(I)Z】...

    原创 2015年12月28日 11:38:01 2004 一.Tomcat8.0运行连接池时发生异常: AbstractMethodError oracle.jdbc.driver.T4CConnec ...

  3. .net Core 2.1 在 CentOS7下,运行含图片处理时发生异常,报The type initializer for ‘Gdip‘ threw an exception.异常

    运行含图片处理时发生异常: The type initializer for 'Gdip' threw an exception. 解决方法: 一.安装一下包: yum -y install auto ...

  4. 【电气专业知识问答】问:断路器运行中发生异常情形时如何判别和处理?

    [电气专业知识问答] 问:断路器运行中发生异常情形时如何判别和处理? 答:有以下情形之一时,应申请立即停电处理. (1)当发现断路器的套管有严重破损和放电现象.绝缘子或拉杆断裂等时,应立即设法停用该断 ...

  5. 解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错

    解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错 问题描述:   笔者将一个在 Tomcat ...

  6. HTTP状态 500 - 内部服务器错误(在 [104] 行处理 [/index.jsp] 时发生异常)

    运行程序时报500错误,错误如下: 类型 异常报告消息 在 [104] 行处理 [/index.jsp] 时发生异常描述 服务器遇到一个意外的情况,阻止它完成请求.例外情况org.apache.jas ...

  7. 调用方法[manageApp]时发生异常 java.lang.IllegalStateException: 启动子级时出错

    学习maven的初步阶段 在写第一个HelloServlet的servlet程序时,碰见了这样的错误: 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache. ...

  8. 如何处理scoop安装时总是出现 “iex : 使用“1”个参数调用“DownloadString”时发生异常:“基础连接已经关闭: 连接被意外关闭。”“

    如何处理scoop安装时总是出现 "iex : 使用"1"个参数调用"DownloadString"时发生异常:"基础连接已经关闭: 连接被 ...

  9. DownloadString”时发生异常:“无法解析此远程名称: ‘raw.gith ubusercontent.com

    powershell反弹时 出现错误 使用"1"个参数调用"DownloadString"时发生异常:"无法解析此远程名称: 'raw.gith ub ...

最新文章

  1. CentOS 7常用命令
  2. ASP.NET提取多层嵌套json数据的方法
  3. 命令行下载利器- Aria2
  4. 谈谈“学习”这件事儿
  5. (Java)Integer类的其他常用方法
  6. 黑龙江对口学计算机上机,2009年黑龙江省职高对口升学计算机应用专业技能试卷十.doc...
  7. MySQL 四种链接
  8. 人工智能知识全面讲解: RBF神经网络
  9. C语言键值对(key-value)操作练习
  10. Windows系统常用设置
  11. 【javascript激增的思考02】模块化与MVC
  12. 10分钟教会你,如何用模拟量调试电机
  13. 【USB描述符系列】二维码扫描枪
  14. PPT设置自动保存时间 mac_群晖NAS设置苹果mac时间机器Time Machine备份
  15. 【iapp】斗牛算法
  16. 【Gephi】初学者教程(一)「一步一步教你怎么画图」「值得放进收藏夹吃灰系列」
  17. 智能车牌识别停车场系统方案
  18. Day1—图片动态过渡
  19. 【程序员讲婚庆】婚庆公司
  20. [WPF] WPF做的漂亮的登陆界面[附源码]

热门文章

  1. SAP云服务新订购量增长103%
  2. swift 注意事项 (十六) —— 可选链
  3. Delphi实现截屏功能
  4. 【Python】spyder编译器调试时添点断点的方法
  5. Windows下Caffe的学习与应用(二)——优化自己训练的模型(fine-tuning)
  6. 【机器学习入门笔记3:OpenCV模块组织结构】20190203
  7. aes算法的地位_aes算法最后一轮为什么没有列混淆?
  8. linux下安装mysql的方式_linux下安装mysql的两种方式
  9. mysql修改界面代码_mysql修改编码
  10. 华为自带时钟天气下载_华为EMUI10的最大亮点是什么?