哪种异常处理方法更好?为什么?:
(1)为整个应用程序定义一个单独的异常,该异常获取一个字符串消息并显示它。在任何地方都使用此异常,并使用适合于该场景的特定消息。
我不知道为什么这是不合适的。
(2)为应用程序中的每个不同情况定义一个新的异常类。
我觉得这是不合适的,因为在某些情况下,异常只出现在应用程序的一个位置。例如,amount entered -ve是否可以在应用程序中为单个案例创建一个全新的异常类?
发布于 2011-12-08 12:10:28
为用户关心的每种错误定义一个新的异常。因此,例如,理想情况下,您应该在程序中捕获NullPointerException,并将其转换为程序的用户级可以报告“软件错误检索客户”的CustomerLookupException。Exception chaining在这方面很方便,因为您也可以传递原始异常。
整个Java Tutorial on exceptions是一个很好的资源。
发布于 2011-12-08 12:05:36
明确地为所有不同的情况定义新的异常。
假设你正在实现一个解释器/编译器。你会有像SemanticVerifier,解释器,CodeGenerator (当然还有其他)这样的模块。你想知道当你的程序崩溃时会抛出什么样的异常。哦,这就是语义!看,翻译器里有个bug!您希望用户知道,这样他就可以报告更精确的错误。
我个人认为,如果每个模块都有单独的异常,那么它会带来更好的设计。
发布于 2011-12-08 12:11:41
您应该为每种情况定义一个新的异常。
原因是这样每个Exception都可以独立处理。
例如,以不同的方式捕获Exception允许您在某些情况下继续,或者在其他情况下结束。
https://stackoverflow.com/questions/8426010
复制相似问题