开发者社区 问答 正文

throw exception 为什么还要try catch一次?报错

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,会报错,非得让再捕获,或者在方法后面声明一个异常呢,而下面的方法就没有问题?求大神赐教啊

展开
收起
爱吃鱼的程序员 2020-06-08 21:09:53 545 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    RuntimeException及其子类都是非捕获性异常,可以不用 捕获,而 原始的Exception必须捕获。

    这是任何一本Java的基础书都会讲到的内容。

    正解!第一个异常要么你自己处理掉要么你抛给上层处理然而你没有上层所以你就必须处理不能抛出第二个不报错前面的童鞋已经说到了
    2020-06-08 21:10:10
    赞同 展开评论
问答地址: