哪个例外优先选中或未选中?为什么?

时间:2017-05-09 07:38:28

标签: exception exception-handling checked-exceptions unchecked-exception

我自己编写了两个自定义的Exception,其中一个是未选中的 当我执行我的代码时,仅显示已检查的异常为什么我无法取消选中异常输出??

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

上述程序的输出为:已检查异常 ,但我期待输出得到检查异常&&获得未经检查的例外。我在这做什么错?我怎么能克服这个?

1 个答案:

答案 0 :(得分:2)

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

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

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

喜欢i = 1并执行

你也可以使用单独的try catch块来测试两种情况

谢谢