将两个不同的中断传递给Java线程并以不同的方式处理它们

问题描述 投票:0回答:1

我有一个线程应该以两种不同的方式中断。根据中断,线程应相应地采取措施。

public void run() {
    try {
        // DO SOMETHING
    } catch (InterruptedException e1) {
        // DO ACTION 1
    }
    } catch (InterruptedException e2) {
        // DO ACTION 2
    }

}

我可以这样做吗?如果是这样,我如何区分两个例外(例如我已经显示了e1,e2)

java multithreading interrupt-handling interrupted-exception
1个回答
0
投票

[您需要定义扩展InterruptedException的异常,例如NewInterruptedException,将其抛出第一个用例,然后使用其名称的第一个catch进行捕获

} catch (NewInterruptedException e) {
    // DO ACTION 1
} catch (InterruptedException e2) {
    // DO ACTION 2
}
© www.soinside.com 2019 - 2024. All rights reserved.