簡體   English   中英

哪個異常被優先檢查或取消檢查? 為什么?

[英]Which Exception get priority Checked or Unchecked ? and Why?

我編寫了自己的兩個自定義異常,當我執行我的代碼時,一個被選中,另一個未被選中,這表明只顯示了選中的異常,為什么我無法獲得未選中的異常輸出?

    class Test {  
   public static void main(String args[]) throws CheckedException {
       int i=0;
       int j=0;
       if(i==0){
           throw new CheckedException("Got Checked Exception");
       }
       if(j==0){
           throw new UncheckedException("Got Unchecked Exception");
       }
   }
}
class CheckedException extends Exception{
    CheckedException(String s){
        super(s);
    }
}
class UncheckedException extends RuntimeException{
    UncheckedException(String s){
        super(s);
    }
}

上面程序的輸出是: Got Checked Exception ,但是我期望兩者都輸出Got Checked Exception和&Got Unchecked Exception 我在這里犯什么錯誤? 而我該如何克服呢?

在您的程序中,您使用了main()方法中的throws並初始化了i = 0和j = 0。

第一個if(i == 0)滿足並生成異常,程序停止。 這就是為什么條件部分不執行的原因。

如果您要檢查第二個條件初始化,我用除0以外的值

像我= 1並執行

您還可以使用單獨的try catch塊來測試這兩種情況

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM