如何在不捕获 Throwable 的情况下使 java 线程不可阻挡

How to make a java Thread unstoppable without catching Throwable

提问人:Bora Ciner 提问时间:10/19/2023 最后编辑:Bora Ciner 更新时间:10/20/2023 访问量:83

问:

由于某种原因,我想使线程无法阻挡,什么是符合 sonarcube 的解决方案? 我必须抓住 Throwable,但是。

它说: Catch Exception 而不是 Throwable。 不应捕获可抛出和错误

我不能只捕获异常

Java 多线程 try-catch 无限循环 可抛出文件

评论

3赞 Chaosfire 10/19/2023
你应该听声纳,一般来说你无法恢复,它是子类。例如,您如何以有意义的方式处理?ErrorOutOfMemoryError
0赞 Bora Ciner 10/20/2023
我知道 sonarcube 是怎么说的,有什么方法可以以合规的方式做到这一点吗?
0赞 Chaosfire 10/23/2023
合规的方法是不抓住 s。或者,如果您对自己的处理非常有信心,则可以用来抑制检查。Throwable@SuppressWarnings("sonar code")

答:

-1赞 Aisu 10/20/2023 #1

下面是一个示例,说明如何捕获和重新引发异常以遵守规则:

public class MyRunnable implements Runnable {
    @Override
    public void run() {
        try {
            // Your thread logic here
        } catch (Exception e) {
            // Handle specific exceptions if needed
            // Rethrow as unchecked exception or wrap and rethrow
            throw new RuntimeException(e);
        }
    }
}