为什么Catch(Exception)几乎总是一个坏主意?为什么catch(Exception)几乎总是一个坏主意?
3 回答
青春有我
TA贡献1784条经验 获得超8个赞
因为当你捕获异常时,你应该正确处理它。而且您不能指望在代码中处理所有类型的异常。此外,当您捕获所有异常时,您可能会遇到一个异常,该异常无法处理并阻止堆栈中的代码正确处理它。
一般原则是捕捉最具体的类型。
慕运维8079593
TA贡献1876条经验 获得超5个赞
简短的故事:它被称为bug掩蔽。如果你有一段代码不能正常工作并抛出异常(或者你将错误的输入传递给那段代码)而你只是通过捕获所有可能的异常而使你的眼睛失明,那么你实际上永远不会发现错误并修复它。
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
因为你真的不知道为什么会发生异常,并且有几个例外需要非常特殊的汽车才能正确处理(如果可能的话),例如OutOfMemoryException和类似的低级系统异常。
因此,您应该只捕获异常:
你知道如何处理它(例如FileNotFoundException等)
之后你会重新提升它们(例如进行失败后清理)
何时需要将异常传输到另一个线程
添加回答
举报
0/150
提交
取消