iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java异常处理UncaughtExceptionHandler如何使用
  • 357
分享到

Java异常处理UncaughtExceptionHandler如何使用

2023-07-05 08:07:33 357人浏览 独家记忆
摘要

本篇内容主要讲解“Java异常处理UncaughtExceptionHandler如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java异常处理UncaughtExceptionHand

本篇内容主要讲解“Java异常处理UncaughtExceptionHandler如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java异常处理UncaughtExceptionHandler如何使用”吧!

异常处理

线程未捕获异常 UncaughtException 需要UncaughtZExceptionHandler 来进行处理

那么为什么非要用UncaughtZExceptionHandler呢?

  • 主线程可以轻松捕获线程,子线程不可以

  • 从下面代码可知,即使子线程抛出异常,主线程丝毫不受影响

public class ChildException implements Runnable{    public static void main(String[] args) {        new Thread(new ChildException()).start();        for (int i = 0; i < 10; i++) {            System.out.println(i);        }    }    @Override    public void run() {        throw new RuntimeException();    }}
  • 从下面代码可知,即使想用catch捕获子线程异常,时没有用的

  • try catch 是针对主线程的,没有办法捕获子线程的异常

public class CantCatch implements Runnable {    public static void main(String[] args) throws InterruptedException {        try {            new Thread(new CantCatch(), "thread0").start();            Thread.sleep(300);            new Thread(new CantCatch(), "thread1").start();            Thread.sleep(300);            new Thread(new CantCatch(), "thread2").start();            Thread.sleep(300);            new Thread(new CantCatch(), "thread3").start();            Thread.sleep(300);        } catch (RuntimeException e) {            System.out.println("catch");        }    }    @Override    public void run() {        throw new RuntimeException();    }}

在run方法中进行try catch可以捕获到异常,但是特别麻烦,因为需要手动地在每个run方法中都进行try catch

UncaughtExceptionHandler

自定义UncaughtExceptionHandler

public class MyUncaughtHandler implements Thread.UncaughtExceptionHandler{    private String name;    public MyUncaughtHandler(String name) {        this.name = name;    }    @Override    public void uncaughtException(Thread t, Throwable e) {        Logger logger = Logger.getAnonymousLogger();        logger.log(Level.WARNING, "线程异常" + t.getName(), e);        System.out.println(name + "捕获" + t.getName()+ e);    }}

使用自定义的类来捕获异常

public class UseOwnExceptionHandler implements Runnable {    public static void main(String[] args) throws InterruptedException {        Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtHandler("MyHandler"));//        try {        new Thread(new UseOwnExceptionHandler(), "thread0").start();        Thread.sleep(300);        new Thread(new UseOwnExceptionHandler(), "thread1").start();        Thread.sleep(300);        new Thread(new UseOwnExceptionHandler(), "thread2").start();        Thread.sleep(300);        new Thread(new UseOwnExceptionHandler(), "thread3").start();        Thread.sleep(300);//        } catch (RuntimeException e) {//            System.out.println("catch");//        }    }    @Override    public void run() {//        try {        throw new RuntimeException();//        } catch (RuntimeException e) {//            System.out.println("e");//        }    }}

到此,相信大家对“Java异常处理UncaughtExceptionHandler如何使用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Java异常处理UncaughtExceptionHandler如何使用

本文链接: https://www.lsjlt.com/news/350365.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java异常处理UncaughtExceptionHandler如何使用
    本篇内容主要讲解“Java异常处理UncaughtExceptionHandler如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java异常处理UncaughtExceptionHand...
    99+
    2023-07-05
  • Java异常处理UncaughtExceptionHandler使用实例代码详解
    目录异常处理UncaughtExceptionHandler异常处理 线程未捕获异常 UncaughtException 需要UncaughtZExceptionHandler 来进...
    99+
    2023-03-01
    Java异常处理 Java UncaughtExceptionHandler
  • Java异常处理如何使用
    这篇文章主要介绍了Java异常处理如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java异常处理如何使用文章都会有所收获,下面我们一起来看看吧。概念异常处理的概念起源于早期的编程语言,如 LISP、PL...
    99+
    2023-07-05
  • Java异常如何处理
    这篇文章主要讲解了“Java异常如何处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java异常如何处理”吧!  你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处...
    99+
    2023-06-03
  • 如何在java中使用catch处理异常
    本文章向大家介绍如何在java中使用catch处理异常,主要包括如何在java中使用catch处理异常的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java的特点有哪些Java的特点有哪些1...
    99+
    2023-06-06
  • Java中如何处理异常
    这篇文章主要为大家展示了“Java中如何处理异常”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中如何处理异常”这篇文章吧。 在Finally中清理资源或者使用Try-With-Resou...
    99+
    2023-06-02
  • C#中如何使用异常策略处理异常
    C#中如何使用异常策略处理异常,需要具体代码示例在C#开发中,异常处理是一项非常重要的任务。合理的异常处理可以提高程序的健壮性和可维护性,同时也能够帮助我们更好地追踪和修复bug。本文将介绍C#中如何使用异常策略来处理异常,并给出具体的代码...
    99+
    2023-10-22
    C#编程 C#关键词:异常处理 异常策略
  • Java中try catch如何处理异常
    这篇文章主要介绍Java中try catch如何处理异常,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 描述说明:public class TryCatchStu { 实例代码:&nbs...
    99+
    2023-06-21
  • C#中如何使用异常过滤器和异常处理
    C#中如何使用异常过滤器和异常处理,需要具体代码示例异常是在程序运行过程中出现的错误或意外情况。在C#中,异常是通过抛出和捕获来处理的。异常处理是保证程序正常运行的关键部分。在C#中,异常过滤器和异常处理是处理异常的两种常见方式。异常过滤器...
    99+
    2023-10-22
    异常处理 异常过滤器 C#语言
  • Java异常处理try catch的基本使用
    目录1. 异常1.1 try…catch异常处理1.2 多catch并行处理1.3 throw和throws 关键字的使用1.4 finally代码块1.5 Runti...
    99+
    2022-11-13
  • 怎么在java中使用finally处理异常
    怎么在java中使用finally处理异常?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发...
    99+
    2023-06-14
  • Java中的InstantiationException异常该如何处理
    在Java中,InstantiationException异常通常会在使用反射创建实例时抛出,当无法创建一个类的实例时会抛出该异常。...
    99+
    2023-08-24
    java
  • Java中如何处理空指针异常
    这篇文章主要讲解了“Java中如何处理空指针异常”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中如何处理空指针异常”吧!NullPointerException 是 Java 代码中...
    99+
    2023-06-30
  • 如何使用SpringBoot处理全局异常
    如何使用SpringBoot处理全局异常 使用@ControllerAdvice 和 @ExceptionHandler处理全局异常 参考: @ControllerAdvice@ResponseBod...
    99+
    2023-10-27
    spring boot java 后端 异常处理
  • 异常处理:PHP中如何捕获和处理异常?
    异常处理:PHP中如何捕获和处理异常?在PHP开发中,异常处理是非常重要的一环。当程序发生意外情况或错误时,我们需要通过捕获和处理异常来保证程序的正常运行。PHP中提供了一套异常处理的机制,本文将介绍如何在PHP中捕获和处理异常,并提供具体...
    99+
    2023-12-18
    捕获 处理 异常
  • C#中如何使用异常过滤器处理特定异常
    C#中如何使用异常过滤器处理特定异常异常处理是开发过程中不可或缺的一部分。当程序出现异常时,能够准确定位并处理异常,是保证程序稳定性和可靠性的重要环节之一。C#提供了异常过滤器(Exception Filter)的机制,可以根据需求选择性地...
    99+
    2023-10-22
    C# 特定异常处理 异常过滤器
  • 详解Java异常处理的使用与思考
    目录概念异常处理自定义异常多重捕获重新抛出异常更好的 NPE清道夫:finally异常的约束try-with-resources异常类型匹配使用指南检查型异常是 shitGo 也没有...
    99+
    2023-05-15
    Java异常处理使用 Java异常处理 Java异常
  • Java异常处理try catch怎么用
    这篇文章将为大家详细讲解有关Java异常处理try catch怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们编译运行程序出错的时候,编译器就会抛出异常。抛出异常要比终止程序灵活许多,这...
    99+
    2023-06-21
  • Java中的异常与错误如何处理
    这篇文章主要介绍“Java中的异常与错误如何处理”,在日常操作中,相信很多人在Java中的异常与错误如何处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中的异常与错误如何处理”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • 为什么不使用try-catch-finally处理Java异常
    本篇内容主要讲解“为什么不使用try-catch-finally处理Java异常”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“为什么不使用try-catch-finally处理Java异常”吧!...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作