java - 是 "throws Throwable"好的做法

标签 java

在过去,我会使用以下方法阅读大量代码:

public Object doSomething() throws Throwable {
    ...
}

这样做是常见的做法吗?

有什么优点和缺点?

throws Trowable 在我看来就像是完成异常事务的“Agent Orange”方式

编辑


  1. 在方法中处理预期的异常

  2. 抛出意外异常(一一)

  3. 不关心错误

这是要走的路吗?

最佳答案

你不应该抛出 Throwable。原因如下。

Throwable 是可以抛出的事物层次结构的顶部,由 ExceptionsErrors 组成。由于 Errors 根据定义是由不可挽救的条件引起的,因此将它们包含在您的方法声明中是没有意义的。这样就只剩下Exception了。

你应该用 throws Exception 来声明你的方法。


请注意,throws 的范围越窄越好。

如果您的方法不生成异常,而是调用其他声明为 throws Exception 的代码并且您想要渗透调用堆栈的异常。

如果你的方法是产生异常,那么声明一个更窄的范围,例如throws IOException, MyProcessingException

关于java - 是 "throws Throwable"好的做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12564428/

相关文章:

java - MotionEvent.ACTION_UP 未被调用

java - 链表中的节点类,特别是构造函数,并使用它来创建随机整数的链表

java - Java 中的整数类

java - 获取 EST 时区的 XMLGregorianCalendar 日期

java - PlayFramework 内存设置选项不受尊重

java - 正则表达式匹配字母字符

java - Selector.close() 是否关闭所有客户端套接字?

java - org.xml.sax.SAXParseException : Premature end file

java - 使用准备好的语句的变量列名

Java 插件无法保存文件