捕获 InputMismatchException 不是错误的吗?

Isn't catching InputMismatchException false?

无论我读到什么,都明确指出不应该捕获未经检查的异常。但是,如果需要输入,每个人都总是在我看到的任何代码中捕捉到它。

考虑到这是一个未经检查的异常,你会如何处理它?你会首先阻止它吗?为什么没有人跟进?

It is clearly stated that unchecked exceptions are not supposed to be caught

永远不应该捕获未经检查的异常是不正确的。

如果你能以合理的方式处理异常,你应该抓住。例如,您可以捕获 NumberFormatException(这是未经检查的异常)并向用户显示消息框以指示输入错误。

另一方面,您不应该捕获要恢复的 hard/impossible 异常。在这种情况下,最好的策略是让应用程序退出。

除了罕见的 cases,你也不应该捕获错误(例如 OutOfMemoryError)。