如何在抛出异常时运行代码?

Bro*_*ide 9 java exception

我尝试了几个不同的捕获后.我有一些"清理"代码,只有在抛出异常时才应该运行.我可以为每个异常添加相同的代码,但这会成为维护的噩梦.基本上,我喜欢像finally语句这样的东西,但是只有在抛出异常时它才能运行.

这可能吗?

mpa*_*tel 18

不幸的是,没有直接的支持.这样的事情怎么样?

boolean successful = false;
try {
    // do stuff
    successful = true;
} catch (...) {
    ...
} finally {
    if (!successful) {
        // cleanup
    }
}
Run Code Online (Sandbox Code Playgroud)