[英]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.