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这个方法,在其中对异常进行相应的处理*/
福利游戏
相关文章
更多-
- 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
精选合集
更多大家都在玩
大家都在看
更多-
- 原神5.2版本有什么福利
- 时间:2024-11-21
-
- 无限暖暖谈幽幽最新过关技巧
- 时间:2024-11-21
-
- 伊甸之战新手少走弯路技巧总汇一览
- 时间:2024-11-21
-
- 伊甸之战卡包获得方法一览
- 时间:2024-11-21
-
- 伊甸之战战术研究馆打法技巧一览
- 时间:2024-11-21
-
- 伊甸之战肉身之转化过关攻略一览
- 时间:2024-11-21
-
- 伊甸之战战术研究馆玩法一览
- 时间:2024-11-21
-
- 伊甸之战兽族简单打法攻略一览
- 时间:2024-11-21