国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java經驗點滴:處理沒有被捕獲的異常

2020-01-31 16:51:57
字體:
來源:轉載
供稿:網友
文章來源: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

  }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莆田市| 婺源县| 枣强县| 通化市| 鸡泽县| 龙州县| 修武县| 类乌齐县| 兴海县| 得荣县| 满城县| 中西区| 益阳市| 麟游县| 临夏县| 河池市| 扬中市| 金门县| 宿州市| 浦东新区| 罗定市| 辰溪县| 南涧| 华蓥市| 邻水| 屏东县| 奎屯市| 乐平市| 商城县| 合阳县| 仙居县| 长丰县| 南平市| 高密市| 淮滨县| 阳原县| 永定县| 大冶市| 丰原市| 巴彦县| 铜陵市|