哪个 Exception 获得优先级 Checked 或 Unchecked ?为什么?
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) 满足并生成异常,程序停止。这就是为什么第二个 if 条件部分没有执行。
如果你想检查第二个条件初始化,我用0以外的东西
喜欢 i=1 并执行
您也可以使用单独的 try catch 块来测试这两种情况
谢谢
我自己写了两个自定义异常,一个被选中,另一个未被选中 当我执行我的代码时只显示已检查的异常为什么我无法获得未检查的异常输出??
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) 满足并生成异常,程序停止。这就是为什么第二个 if 条件部分没有执行。
如果你想检查第二个条件初始化,我用0以外的东西
喜欢 i=1 并执行
您也可以使用单独的 try catch 块来测试这两种情况
谢谢