国产探花免费观看_亚洲丰满少妇自慰呻吟_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

  }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金山区| 藁城市| 汶上县| 金堂县| 水富县| 沙河市| 咸宁市| 新营市| 新晃| 北川| 堆龙德庆县| 定边县| 承德市| 岳普湖县| 陈巴尔虎旗| 驻马店市| 东台市| 资中县| 淮安市| 红原县| 沈阳市| 海南省| 垣曲县| 若尔盖县| 新余市| 沙湾县| 泸溪县| 巫溪县| 平乐县| 宜宾市| 峡江县| 电白县| 阳东县| 邵东县| 昔阳县| 神木县| 宿迁市| 依安县| 宿迁市| 乳山市| 南丰县|