开发者社区> 问答> 正文

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 537 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

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

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载