开发者社区> 问答> 正文

java 抛出异常可以只写throws exception吗?有什么不好? 报错

我们知道,java异常exception类是其他所有异常类的父类
那么可以只throws exception而不throws具体的类吗?

![image.png](https://ucc.alicdn.com/pic/developer-ecology/0646bc4e9f534d8d82195323288e165e.png)

展开
收起
因为相信,所以看见。 2020-05-25 15:57:35 944 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    可以是可以,抛具体的类是为了有区分度,能从名字上就让人感知到是哪块除了问题

    ######

    你把方法定义成这样的话,用户会很恼火。当你用别人写的这样的方法的时候也会很恼火。本来我可以根据错误类型分别处理的,现在你都作为 Exception 一把丢,我怎么好处理,难道我还要用 if (e instanceOf IOException) {...} 来判断?

    ######

    可以,不好。
    可以的理由是 你这么写不会报错,代码可以运行。
    不好的理由是 你破坏了代码的自述性和可读性,不利于维护和异常处理。

    ######

    https://www.zhihu.com/questio...

    ![image.png](https://ucc.alicdn.com/pic/developer-ecology/d05c9b2a5aca4a05a6596e9d00705a14.png)
    2020-05-25 20:40:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载