public static void main(String[] args) {
try {
System.out.println("aa");
} catch (Exception e) {
throw e;
}
}
public static void main2(String[] args) {
try {
System.out.println("aa");
} catch (Exception e) {
throw new RuntimeException();
}
}
为什么第一个方法throw e,会报错,非得让再捕获,或者在方法后面声明一个异常呢,而下面的方法就没有问题?求大神赐教啊
RuntimeException及其子类都是非捕获性异常,可以不用 捕获,而 原始的Exception必须捕获。
这是任何一本Java的基础书都会讲到的内容。
正解!第一个异常要么你自己处理掉要么你抛给上层处理然而你没有上层所以你就必须处理不能抛出第二个不报错前面的童鞋已经说到了版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。