当前位置: 首页 > 面试题库 >

是“ throwable”的良好做法

姬泰
2023-03-14
问题内容

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

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

这样做是惯例吗?

优点和缺点是什么?

throws Trowable 在我看来,这就像完成异常的“ Agent Orange”方式

编辑

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

  2. 引发意外异常(一对一)

  3. 不在乎错误

那是路要走吗?


问题答案:

你不应该扔Throwable。这就是为什么。

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

您应该throws Exception改为声明您的方法。

注意,范围越窄throws越好。

声明你的方法是throws Exception,那么你的方法不会产生异常,而是调用作为一个声明其他代码throws Exception,你想例外渗透调用堆栈。

如果您的方法是 生成 异常,则声明一个较小的范围,例如throws IOException, MyProcessingException,等等



 类似资料:
  • 问题内容: 我已经为JDBC连接编写了一个简单的包装程序,它可以工作,但是我想通过最佳实践来对其进行改进。它基本上有类似的方法,,,,,,和。为简单起见,我仅在此处发布前4种方法。 笔记: 可以重复使用同一查询对象,例如打开和关闭它,以及在再次打开之后。 我不是关闭每个查询的连接,而是关闭准备好的语句(这是正确的,或者我可以让准备好的语句保持打开状态,因为Connection对象会关闭它吗?) 当

  • 我正在使用Laravel5.6作为我个人项目的后端,我一直在做一些(对我来说)似乎是不好的做法,不管怎样,我想知道它是否真的那么糟糕。 首先,我使用的是Vue。js(CLI 3)项目作为客户端,我正在向我的Laravel后端发出请求。现在,为了处理通知/祝酒,我使用下一种格式: 不管我做得对还是错,我总是用同样的格式和

  • 问题内容: 我想知道创建Javadocs时的最佳实践。我有一个包含许多文件的项目。代码已由许多开发人员创建。每个文件都有一个注释,因此很明显谁创建了一个特定的类。 但是,当其他一些开发人员将新代码添加到文件中,对其进行修改等时,他应该如何告知团队的其他成员他已经创建了一些新功能或已经修改了现有代码?换句话说,我们应该如何“使Javadocs与现实兼容”?;) 将他的名字添加到现有标签中?然后,如果

  • 问题内容: 缩进SQL语句的公认做法是什么?例如,考虑以下SQL语句: 应该如何缩进?非常感谢。 问题答案: 我喜欢将所有的“,”放在前面,这样,当SQL编辑器在X行出现错误时,我就永远不会搜索它们。 对于那些不使用这种类型的编写SQL语句的人来说,这是一个示例。两者都包含缺少逗号的错误。 在第一个示例中,我发现更容易,更快捷。希望本示例向您展示更多我的观点。

  • 问题内容: 我最近阅读了很多有关Linux上共享库的信息,这是我所学到的: 共享库应嵌入,包括其主要版本号。就像是: 其实际文件名还应包含次要版本号。就像是: 当库文件复制到,比方说,如果运行时,它会读取,创建一个名为符号链接指向。 如果要使用此库进行开发,则应首先创建一个指向实际文件的没有任何版本号的符号链接。这通常由 开发 包(打包库时)完成。 它是否正确 ? 问题答案: 建议阅读: Ulri

  • 问题内容: 我们正在将两个系统集成到一个Intranet中,使用CORS作为在两个域之间进行AJAX调用的一种方式。 这被认为是不良做法吗?一般认为CORS是不良做法吗? 问题答案: CORS不是坏习惯。它支持所有主要的浏览器,而且越来越多的API都支持它。实际上,如果您的公共资源不在防火墙后面,则可以将标头放在资源上是安全的。 但是,对于服务器上CORS的角色有些困惑。CORS应该仅指示特定资源