-1

我编写了我自己的两个自定义异常,一个是选中的,另一个是未选中的,当我执行我的代码时只显示选中的异常为什么我无法获得未选中的异常输出?

    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。我在这里犯了什么错误?我该如何克服呢?

4

1 回答 1

2

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

第一个 if(i==0) 满足并生成异常并且程序停止。这就是为什么第二个 if 条件部分没有执行。

如果你想检查第二个条件初始化,我用 0 以外的东西

像 i=1 并执行

您还可以使用单独的 try catch 块来测试这两种情况

谢谢你

于 2017-05-09T07:47:10.423 回答