我认为所有的Error和Exception类型都是从Exception类扩展的,所以当应用程序停止工作时我怎么能看异常因为我想在抛出异常时运行一些逻辑 我不只是询问try {} catch {} finally {}
如果我想让插件观察应用程序上发生的任何异常以运行我的逻辑
示例 如果你有一个名为 X 的应用程序,并且你有一个名为 Y 的库,当 X 时,库 Y 如何监视并运行逻辑抛出异常而不编辑 X 代码
的逻辑答案 0 :(得分:1)
Error
和Exception
类从Throwable
类扩展而来。现在如果你想捕获异常,你可以简单地使用try-catch-(finally , If required)
块。您不能捕获错误,因为错误是您无法恢复的,下面是层次结构,错误和异常是两个不同的层次结构,除了一个都是Throwable。
答案 1 :(得分:0)
如果您知道异常并在那里执行逻辑,则可以捕获异常。或者,您可以在异常块之后在finally块中编写逻辑。例如:
try {
....
} catch (YourException e) {
....
} finally {
// your logic
}
答案 2 :(得分:-1)
使用观察者模式。它专为此类情况而设计。您应该首先阅读本文:https://en.wikipedia.org/wiki/Observer_pattern