我自己写了两个自定义异常一个被选中,另一个被取消选中当我执行我的代码时,仅显示选中异常为什么我无法取消选中异常输出?
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 块来测试这两种情况
谢谢