我不明白在代码中使用链式异常有什么好处。
考虑到Java 世界中的 ResourceLoader 示例 http://www.javaworld.com/javaworld/jw-09-2001/jw-0914-exceptions.html,如果程序员知道遇到的可能性ResourceLoadException
,为什么不捕获相同的异常而不是SQLException
?否则,程序员可以在同一代码中捕获这两个异常,而不必抛出新的异常Throwable
实例?
任何人都可以提供有关链式异常需求的信息吗?
文章说得很好:
异常链允许您将一种异常类型映射到另一种异常类型,以便方法可以抛出与方法本身相同的抽象级别定义的异常,而不会丢弃重要的调试信息。
也就是说,如果您有一个从数据库加载某些对象的方法,您可能更想要一些ResourceLoadException
(与方法抽象级别更密切相关)而不是低级别SQLException
即使这是问题的根源。然而,如果你只是抓住SQLException
并抛出一个ResourceLoadException
相反,您可能会丢失重要的调试信息。
因此,链接异常是一个不错的选择。您抛出一个非常适合特定方法的“高级”异常,但将其与引起它的异常链接起来。
否则,程序员可以在同一代码中捕获这两个异常,而不是必须抛出一个新的 Throwable 实例吗?
我不太明白你在这里的推理。关键是他不需要担心SQLException
在这个抽象层次上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)