为什么 Catch(异常)几乎总是一个坏主意?

2022-08-31 12:51:39

为什么几乎总是一个坏主意?catch(Exception)


答案 1

因为当你发现异常时,你应该正确处理它。而且,您不能期望在代码中处理所有类型的异常。此外,当您捕获所有异常时,您可能会收到一个异常,该异常无法处理并阻止堆栈中较高的代码正确处理它。

一般原则是尽可能地捕获最具体的类型。


答案 2

短篇故事:这被称为错误屏蔽。如果你有一段代码不能很好地工作并抛出异常(或者你向该段代码传递了格式错误的输入),并且你只是通过捕获所有可能的异常来蒙蔽你的眼睛,你实际上永远不会发现错误并修复它。


推荐