文章来源:csdn 作者:enoeht
在我们的程序中并不是所有的异常都被捕获,有些是因为我们不想捕获,因为我们认为那些异常没必要捕获
而有些是我们无法捕获的,因为我们不能确定它们会在什么地方出现,例如像NullPointerException,ClassCastException,IndexOutOfBoundsException这些RuntimeException。我们也许可以在所有它们有可能发生的地方去捕获它们,但这确实是很坏的解决方案。但在有些情况下,我们又必须在一些未捕获的异常发生时做一些事情,像释放资源、让程序离开错误状态等等。
这里通过ThreadGroup提供的一个方法,解决了这个问题,让我们的程序可以变得更健壮。ThreadGroup提供一个uncaughtException回调方法,当线程组中的线程有未被捕获的异常发生时,JVM就会去调用这个方法。
|
public class ApplicationLoader extends ThreadGroup {
private ApplicationLoader() {
super("ApplicationLoader");
}
public static void main(String args[]) {
Runnable addStarter = new Runnable() {
public void run() {
//在这里调用我们自己的程序的入口函数
//MyApplication.main(args);
}
};
//把我们自己的程序当作这个线程组的一个线程来运行
new Thread(new ApplicationLoader(), addStarter).start();
}
|
/*当有未被捕获的异常发生导致线程停止时,这个方法就会被虚拟机调用,我们只要在自己的ThreadGroup子类中override这个方法,在其中对异常进行相应的处理*/
|
public void uncaughtException(Thread threadf, Throwable e) {
//Handle the Exception
}
}
|
分享到:
相关推荐
Java经验点滴处理没有被捕获的异常.rar
对于Java语言,最体贴的一项设计就是它并没有打算让人们为了写程序而写程序——人们也需要考虑程序的文档化问题。对于程序的文档化,最大的问题莫过于对文档的维护。若文档与代码分离,那么每次改变代码后都要改变...
Java经验点滴类注释文档编写方法.rar
个人学习JAVA的一点心得体会
印制线路板设计经验点滴总结--PDF。 印制线路板设计经验点滴总结--PDF。
python编程
PLC个人经验点滴,是PLC开发的实际工作经验,千金难买。
《Delphi程序员经验点滴桌面、网络编程实例集锦》 王小华 编著 北京希望电子出版社 兵器工业出版社 目录: 第一章 Pascal语言基本功 第二章 控件的应用与改造 第三章 应用程序与窗口 第四章...
《Delphi程序员经验点滴桌面、网络编程实例集锦》 王小华 编著 北京希望电子出版社 兵器工业出版社 目录: 第一章 Pascal语言基本功 第二章 控件的应用与改造 第三章 应用程序与窗口 第四章...
GPS基线解算的经验点滴,GPS基线解算的经验点滴,可以为基线解算优化技术做参考PDF格式
NULL 博文链接:https://wuning.iteye.com/blog/855331
这里梳理了Java的点滴琐碎知识(不包括大学课本里面讲的那些基础),以及常人踩过的各种坑。记录了目前行业内主流必须掌握的各种基础知识。包括Docker,MySQL数据库,消息队列中间件等的详细阐述。 适用人群:热爱...
PLC个人经验点滴.pdf
不让应用程序显示在任务栏上,处理Windows应用程序的命令行参数,调整显示分辩率,更改Windows桌面,制作托盘图标等等精彩内容
印制线路板设计经验点滴,可以给一些初学者的兄弟们一点建议。。。
一些学习java的笔记及内容
PDH光端机维护经验点滴,