这是一件事吗?
我想抛出自己的异常只是为了让它更容易处理。 虽然它们很可能会发生,但不是特殊情况,它们是无与伦比的。例如,如果用户从浏览器中选择了错误的文件类型。是的,我可以处理它,但如果我特别为子方法抛出异常会更容易,因为我需要以某种方式告诉父方法sub方法失败,所以做一些不同的事情。我认为抛出异常会更容易。
那么在正常情况下抛出异常是否可以?
答案 0 :(得分:3)
我不得不说这个问题的答案在某种程度上是基于意见的,但普遍的共识似乎是滥用常规流量控制的例外是一个坏主意。
这是一种well-documented反模式,其主要原因是:
答案 1 :(得分:1)
典型的用例是:
实际上不需要例外来处理错误的条目甚至是取消(2或6之后)。如果您的程序在访问文件系统或类似文件系统时遇到IOException,则可能会抛出其他一些异常。
调用者应该具有的唯一负担是检查返回的“空值”(null或任何合适的值)以指示用户选择不想做某事 - 通常应提供的选项。