【发布时间】:2013-02-15 09:34:35
【问题描述】:
我正在为我的应用程序设计一个自定义异常类。我有一个非常基本的问题。我应该从 Exception class 还是 Thowable class 扩展?有什么好处?
我打算从底层抛出这个并在顶级类中捕获它。它会影响我使用 Thowable 而不是 Exception 的决定吗?抓住 Thowable 从根本上说是正确的吗?
我已经浏览了这个论坛的一些其他主题。他们谈论在抛出堆栈跟踪时维护堆栈跟踪,而不是让它用于异常等。 我知道有人说(here)Thowable 是 Exception 的超类,我们不应该使用它。但其他人 (here) 说 Exception 是针对“异常”情况的。
这个问题更像是讨论一个人比另一个人更好,而不是问如何。
【问题讨论】:
-
最后,您要在顶层捕获的是
YourException- 无论是异常还是 Throwable 都没有太大区别。如果其他人可能会使用您的 API 并且必须捕获该异常,那么扩展 Exception 可能会产生较少的惊喜。 -
感谢您的回复。是的,我同意。我只是确保我的决定是正确的。我不希望任何人欺负我。 :)