本文章给大家介绍java多线程练习之捕获子线程异常一个实例,希望对大家会有所帮助。

java多线程程序中,所有线程都不允许抛出未捕获的checked exception,也就是说各个线程需要自己把自己的checked exception处理掉。但是无法避免的是unchecked exception,也就是RuntimeException,当抛出异常时子线程会结束,但不会影响主线程。

通过try catch是无法捕获子线程异常的,Thread对象提供了setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)方法用来获取线程中产生的异常。

实战:

 代码如下 复制代码

package threads;

import java.lang.Thread.UncaughtExceptionHandler;

public class TextException

{

public static void main(String[] args)

{

Test test = new Test();

test.setUncaughtExceptionHandler(new UncaughtExceptionHandler()

{

public void uncaughtException(Thread t, Throwable e)

{

System.out.println(t.getName() " : " e.getMessage());

// TODO

}

});

}

public static class Test extends Thread

{

public Test()

{

}

public void run()

{

throw new RuntimeException("just a test");

}

}

}

java线程带来的异常,java多线程练习之捕获子线程异常例子相关推荐

  1. java主线程捕获子线程中的异常

    java主线程捕获子线程中的异常 参考文章: (1)java主线程捕获子线程中的异常 (2)https://www.cnblogs.com/jpfss/p/10272726.html (3)https ...

  2. Java中主线程如何捕获子线程抛出的异常

    Java中主线程如何捕获子线程抛出的异常 参考文章: (1)Java中主线程如何捕获子线程抛出的异常 (2)https://www.cnblogs.com/jpfss/p/10272885.html ...

  3. python捕捉线程错误_python 主线程捕获子线程异常

    最近,在做一个项目时遇到的了一个问题,主线程无法捕获子线程中抛出的异常. 先看一个线程类的定义 ''' Created on Oct 27, 2015 @author: wujz ''' import ...

  4. EXC_BAD_ACCESS(code=2,address=0xcc 异常解决 及 建议不要在子线程中刷新界面

    EXC_BAD_ACCESS(code=2,address=0xcc 异常解决 及 建议不要在子线程中刷新界面 参考文章: (1)EXC_BAD_ACCESS(code=2,address=0xcc ...

  5. 多线程——主线程和子线程退出关系

    分清两个概念 主线程和当前进程的关系:当前进程由主线程和若干个子线程组成. 若当前进程退出后,子线程也会跟着一起退出:若只是主线程退出,仍要分两种情况分析:实际上主线程退出后子线程的状态依赖于它所在的 ...

  6. python主辅线程_python主线程捕获子线程的方法

    最近,在做一个项目时遇到的了一个问题,主线程无法捕获子线程中抛出的异常. 先看一个线程类的定义 ''''' Created on Oct 27, 2015 @author: wujz ''' impo ...

  7. Python 多个线程按先后顺序执行,并保持各子线程和主线程的通信

    Python 多个线程按先后顺序执行,并保持各子线程和主线程的通信 摘要 最近有个项目使用pyqt5写的界面,界面展示部分作为项目的主线程,另外通过调用Thread,传入不同的参数又设置了五个子线程, ...

  8. 【Java 多线程】Java中主线程如何捕获子线程抛出的异常

    首先明确线程代码的边界.其实很简单,Runnable接口的run方法所界定的边界就可以看作是线程代码的边界.Runnable接口中run方法原型如下: public void run(); 而所有的具 ...

  9. java线程 cpu占用率_多线程程序 怎样查看每个线程的cpu占用

    可以用下面的命令将 cpu 占用率高的线程找出来: ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 这个命令首先指定参数'H',显示线程相关的 ...

最新文章

  1. C++中运算符重载需要遵循的规则
  2. 如何更高效、系统地学习三维点云原理与方法?
  3. python中in_python中的min和in用代码实现
  4. fragment+viepager 的简单暴力的切换方式
  5. 面试官问:来实现一个Promise
  6. 二叉树的创建_大多数人都不会手写创建并遍历二叉树,一航这里帮你终结了
  7. 多线程---ReentrantLock
  8. ethtool源码分析
  9. 6 月编程语言排行榜:Python 飙升,有望挑战 Java 和 C?
  10. 2017年计算机类核心期刊,2017年北大版中文核心期刊要目总览目录.pdf
  11. HackerRank - Stock Maximize
  12. 游戏开发中的向量数学
  13. Juicer – 一个 JavaScript 模板引擎的实现和优化
  14. django+djangorestframework开发代码编辑器
  15. excel表格打不开是什么原因_Excel表格批量隔行插入N行的方法是什么
  16. 【2022 CCPC 华为云计算挑战赛】1005 带权子集和 (NTT 优化dp)
  17. 微信公众号wx.getlocation
  18. PTA 哈夫曼树与哈夫曼编码
  19. 介绍理想工作计算机 英语作文,理想工作的英语作文7篇
  20. 现任明教教主CCNP Security SecureV1.0 第一天.3

热门文章

  1. CanalSharp-mysql数据库binlog的增量订阅消费组件Canal的.NET客户端
  2. 使用.NET Core 2.1的Azure WebJobs
  3. 部署用于生产的Exceptionlees(一个强大易用的日志收集服务)
  4. ASP.NET Core缓存静态资源
  5. asp.net core mvc中如何把二级域名绑定到特定的控制器上
  6. [Asp.Net Core轻量级Aop解决方案]AspectCore Project 介绍
  7. Django01: 安装/基础命令/设置笔记
  8. 【Envi风暴】Envi5.4经典安装图文教程
  9. 【测绘程序设计】视距测量神器V1.0(附源程序)
  10. linux c之snprintf()和sprintf()区别