我的项目中有finalize
方法(我知道不应该使用finalize
,但现在不能更改逻辑。)FindBugs给出了应该调用super.finalize()
的错误,但是如果完成并且Throwable
被捕获(也不应该这样做),FindBugs给出了另一个错误,指出Throwable
不应该被捕获。
我也不能抛出Throwable
,申请可能会受到影响。
反正有吗?
答案 0 :(得分:2)
您必须在Throwable
方法中抛出finalize
。以下是您需要的方法代码:
@Override
protected void finalize() throws Throwable
try {
super.finalize();
} finally {
...
}
}
答案 1 :(得分:1)
从你的讲述:
try {
super.finalize();
} finally {
... // your code
}