猿问

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

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

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



芜湖不芜
浏览 433回答 3
3回答

青春有我

因为当你捕获异常时,你应该正确处理它。而且您不能指望在代码中处理所有类型的异常。此外,当您捕获所有异常时,您可能会遇到一个异常,该异常无法处理并阻止堆栈中的代码正确处理它。一般原则是捕捉最具体的类型。

慕运维8079593

简短的故事:它被称为bug掩蔽。如果你有一段代码不能正常工作并抛出异常(或者你将错误的输入传递给那段代码)而你只是通过捕获所有可能的异常而使你的眼睛失明,那么你实际上永远不会发现错误并修复它。

米琪卡哇伊

因为你真的不知道为什么会发生异常,并且有几个例外需要非常特殊的汽车才能正确处理(如果可能的话),例如OutOfMemoryException和类似的低级系统异常。因此,您应该只捕获异常:你知道如何处理它(例如FileNotFoundException等)之后你会重新提升它们(例如进行失败后清理)何时需要将异常传输到另一个线程
随时随地看视频慕课网APP

相关分类

Java
我要回答