多线程-UncaughtException

2023-11-13

在多线程开发中,我们会面对很多的异常问题。但是,主线程的异常我们知道很方便捕获并且处理,但是对于子线程而言呢?

package Thread_.UncaughtException;

/**
 * @program:多线程和IO
 * @descripton:传统方法无法捕获子线程异常
 * @author:ZhengCheng
 * @create:2021/9/22-10:13
 **/
public class ThreadException extends Thread {
    public static void main(String[] args) {
        try {
            new ThreadException().start();
        } catch (Exception e) {
            System.out.println("I caught this Exception");
        }
    }
//    @Override
//    public void run() {
//        throw new RuntimeException();
//    }
    //解决方案1: (不推荐) 在run方法中使用trycatch捕获异常 ,提高健壮性。
    @Override
    public void run() {
        try {
            throw new RuntimeException();
        } catch (RuntimeException e) {
            System.out.println("catch success");
        }
    }
}

 测试上述代码,在主线程中,我们是无法catch到子线程抛出的异常的。故子线程的异常&#

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

多线程-UncaughtException 的相关文章

随机推荐

  • 【裸机开发】UART 串口通信(二)—— 使用 UART 收发数据

    这节其实就是在对上一篇文章涉及到的一些操作进行整理和归纳 不一定完全按照上一篇的顺序来 目录 一 UART IO 初始化 二 UART 初始化 1 打开 关闭串口 2 软件复位 3 总结 UART 初始化 三 接收数据 四 发送数据 一 U
  • 【STM32】LCD液晶显示

    作者 一只大喵咪1201 专栏 STM32学习 格言 你只管努力 剩下的交给时间 LCD显示 LCD简介 TFTLCD驱动原理 ILI9341 液晶控制器简介 液晶屏的信号线及 8080 时序 使用 STM32 的 FSMC 模拟 8080
  • C语言知识小结(七)

    共用体 共用体是一种数据结构 结构体和共用体的区别 结构体 结构体的各个成员会占用不同的内存 互相之间没有影响 结构体占用的内存大于等于所有成员占用的内存的总和 成员之间可能存在缝隙 共用体占用的内存等于最长的成员占用的内存 共用体 共用体
  • AtomicStampedReference、AtomicMarkableReference源码分析,解决cas ABA问题

    cas的ABA问题就是 假设初始值为A 线程3和线程1都获取到了初始值A 然后线程1将A改为了B 线程2将B又改回了A 这时候线程3做修改时 是感知不到这个值从A改为了B又改回了A的过程 AtomicStampedReference 本质是
  • L1-044 稳赢(Python实现) 测试点全过

    前言 color Blue 前言 前言 本系列题使用的是 PTA中的团体程序设计天梯赛 练习集 的题库 难度有L1 L2 L3三个等级 分别对应团体程序设计天梯赛的三个难度 如有需要可以直接查看对应专栏 发布个人的刷题笔记的同时 也是希望可
  • PicGo工具配置Gitee图床仓库

    PicGo工具配置Gitee图床仓库 1 图床的作用 2 用到的工具 3 各工具的下载及安装 3 1 PicGo 3 1 1 PicGo下载 3 1 2 PicGo安装 3 2 Node js 3 2 1 Node js下载 3 2 2 安
  • Zabbix 系统监控(三)VMware 虚拟平台监控、邮件告警、企业微信告警配置

    Vmware 虚拟平台监控 邮件告警 企业微信告警配置 8 Vmware 虚拟平台监控 阅读 zabbix 官方文档 官方提供了 Vmware 虚拟机监控模板 并对模板进行了解释说明 但未对相应名词做解释 如果不了解 Vmware 组件 可
  • UNITY 对话系统

    1 准备工作 创建一个画布 Canvas 画布中创建一个面板 Panel 面板中放个文本框 TEXT 和两个按钮 Button 一个用于直接关闭 另一个用于点击之后继续说下句话 和一个挂载脚本的空物体 更名为DialogManager 2
  • vscode编辑器个人性化配置,用于vue、react+eslint代码规范

    vscode是编辑器setting json配置 workbench sideBar location left editor fontSize 18 editor tabSize 2 editor formatOnSave true 每次
  • element ui 原理简单分析

    配置文件 这里大致说一下开发过程中经常用到的配置 config dev env js 这里是开发过程中需要修改的一个地方 use strict const merge require webpack merge const prodEnv
  • es备份数据和恢复数据

    1 fs方式 备份到本地挂载的硬盘 1 创建一个仓库 PUT snapshot my backup type fs settings location mount my backup 上面代码创建一个名为 my backup 的备份 存放在
  • 15款最好的Windows安全检测工具

    2006 05 09 13 29 Kevin Beaver TechTarget 你想测试你的Widnows系统的安全性吗 如果你选对了工具 其实这是一件非常有趣的工作 如果你正为挑选合适的工具而苦恼 那就让本文给你一些帮助吧 关于安全测试
  • URL中的+,空格,/,?,%,#,&,= 及转义处理

    URL出现了有 空格 等特殊符号的时候 可能在服务器端无法获得正确的参数值 如何是好 解决办法 将这些字符转化成服务器可以识别的字符 对应关系如下 URL中的特殊字符 有些符号在URL中是不能直接传递的 如果要在URL中传递这些特殊符号 那
  • nginx 之优雅的关闭worker进程

    1 设置定时器 worker shutdown timeout 2 关闭监听句柄 3 关闭空闲连接 4 在循环中等待全部连接关闭 5 退出进程
  • Java比较两个对象是否相同并获得不同的字段

    在使用数据库以及做详细的权限控制的时候 遇到要比较两个对象的情况 获得两个对象是否相同以及有那些字段被修改了 以判断用户是否有权限修改对象 apache commons提供的只有collections的对比 因此 本文利用jackson将对
  • KaTeX使用

    前言 在 KaTeX KaTeX KATE X官网 有两张支持表 这里搬运过来以便于大家能够正确使用指令 这张表应该涵盖了纯 KaTeX KaTeX KATE X所有的功能 当然
  • u-boot的norflash驱动分析,以及一些调试信息

    Flash 存储器接口还有两个标准 CFI和JEDEC CFI为公共Flash接口 Common Flash Interface 用来帮助程序从Flash芯片中获取操作方式信息 而不用在程序中硬编码Flash的ID JEDEC用来帮助程序读
  • 怎么用计算机打开开发者模式,win10如何打开开发者选项模式

    我们的win10系统中自带有开发者选项模式 该模式为Win10技术预览版开发此风格应用你需要开启 开发者模式 开启之后 在将应用提交给微软进行测试和认证前 你可以先在本地计算机上进行部署和测试 为开发者们提供了自由发挥的空间 那么win10
  • Oracle date日期类型使用

    Oracle中将日期转换为字符串 需要设置日期格式 to char sysdate fmt fmt YYYY MM DD HH24 MI SS 结果 2021 03 04 19 42 50 fmt YYYY MM DD HH12 MI SS
  • 多线程-UncaughtException

    在多线程开发中 我们会面对很多的异常问题 但是 主线程的异常我们知道很方便捕获并且处理 但是对于子线程而言呢 package Thread UncaughtException program 多线程和IO descripton 传统方法无法