哪个例外获得优先级选中或未选中?以及为什么



我自己写了两个自定义异常一个被选中,另一个被取消选中当我执行我的代码时,仅显示选中异常为什么我无法取消选中异常输出?

    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);
    }
}

上述程序的输出为:已检查异常,但我期待两个输出都得到检查异常和得到未检查的异常。我在这里犯了什么错误?我怎样才能克服这个问题?

在你的程序中,你已经使用了main((方法中的抛出,并且你已经初始化了i=0和j=0。

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

如果要检查第二个条件初始化,则 I 使用 0 以外的其他内容

像 i=1 并执行

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

谢谢

相关内容

  • 没有找到相关文章

最新更新