所以这是关于我最近被问到的一个面试问题。面试官首先问我我们是如何创建自定义异常的。在回答这个问题时,他问我如何创建一个 RunTimeExceptions。我说过我们会以与创建已检查异常相同的方式创建它们。只是我们的自定义异常将从 RunTimeException 类扩展。然后他问你会在什么场景下创建自己的 RunTimeException。现在我想不出一个好的答案。在我的任何项目中,我们都没有创建自定义 RunTimeExceptions。
我也认为我们永远不应该创建 RunTimeExceptions。JVM 只能以有限的方式失败,它可以很好地处理它们。在编写应用程序时,我们无法预测会发生哪些运行时异常,因此我们不需要处理它们。如果我们可以预测这些条件,那么它们就不是 RunTimeExceptions。既然我们既不需要新的运行时异常,也不需要处理运行时异常,为什么我们需要创建一个自定义的 RunTimeException。我们可以预先认为可能的失败条件的所有事情都应该在编译时处理,这将是一个检查异常。对?只有在编译时无法处理的事情和依赖运行时的事情才会进入 RunTimeExceptions 的类别。
即使我们编写了自定义 RunTimeExceptions,然后编写了一个应该抛出该 RunTimeException 的自定义方法 - 我们如何确保该方法将抛出该特定 RunTimeException。我们如何进行映射。这对我来说似乎不可能。
我在这里错过了什么/很多东西吗?友善的建议。
谢谢,陈。