Java经验点滴:处理没有被捕获的异常
时间:2005-11-24 | 作者:CSDN | 阅读:164
在我们的程序中并不是所有的异常都被捕获,有些是因为我们不想捕获,因为我们认为那些异常没必要捕获
而有些是我们无法捕获的,因为我们不能确定它们会在什么地方出现,例如像NullPointerException,ClassCastException,IndexOutOfBoundsException这些RuntimeException。我们也许可以在所有它们有可能发生的地方去捕获它们,但这确实是很坏的解决方案。但在有些情况下,我们又必须在一些未捕获的异常发生时做一些事情,像释放资源、让程序离开错误状态等等。
这里通过ThreadGroup提供的一个方法,解决了这个问题,让我们的程序可以变得更健壮。ThreadGroup提供一个uncaughtException回调方法,当线程组中的线程有未被捕获的异常发生时,JVM就会去调用这个方法。

/*当有未被捕获的异常发生导致线程停止时,这个方法就会被虚拟机调用,我们只要在自己的ThreadGroup子类中override这个方法,在其中对异常进行相应的处理*/

而有些是我们无法捕获的,因为我们不能确定它们会在什么地方出现,例如像NullPointerException,ClassCastException,IndexOutOfBoundsException这些RuntimeException。我们也许可以在所有它们有可能发生的地方去捕获它们,但这确实是很坏的解决方案。但在有些情况下,我们又必须在一些未捕获的异常发生时做一些事情,像释放资源、让程序离开错误状态等等。
这里通过ThreadGroup提供的一个方法,解决了这个问题,让我们的程序可以变得更健壮。ThreadGroup提供一个uncaughtException回调方法,当线程组中的线程有未被捕获的异常发生时,JVM就会去调用这个方法。

/*当有未被捕获的异常发生导致线程停止时,这个方法就会被虚拟机调用,我们只要在自己的ThreadGroup子类中override这个方法,在其中对异常进行相应的处理*/

来源:CSDN
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Java安装教程
- 时间:2017-12-07
-
- Java环境变量配置图文教程
- 时间:2017-12-07
-
- 如何为 Java 配置代理设置?
- 时间:2017-12-07
-
- Java是做什么的?为何下载Java?
- 时间:2017-12-07
-
- 如何使用记事本编写java程序
- 时间:2017-06-02
-
- Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
- 时间:2017-05-27
-
- js实现的倒计时按钮实例
- 时间:2017-02-16
-
- js几秒以后倒计时跳转
- 时间:2017-02-16
精选合集
更多大家都在玩
大家都在看
更多-
- intellij idea安装及JDK环境配置操作详解
- 时间:2025-09-05
-
- Protel99se如何使用
- 时间:2025-09-05
-
- 币安交易平台官网入口 币安官方最新版v3.2.6APP下载安装
- 时间:2025-09-05
-
- excel下拉数字不递增如何解决
- 时间:2025-09-05
-
- IDEA怎么创建一个静态web项目
- 时间:2025-09-05
-
- 格式工厂怎么把webp转为jpg格式
- 时间:2025-09-05
-
- KMPlayer如何加快播放速度
- 时间:2025-09-05
-
- excel2003如何固定表头
- 时间:2025-09-05