Bei Thread.sleep wird keine Ausnahme-Catch-Abdeckung übergeben Ich möchte es irgendwie bestehen, Versuch und Irrtum Wenn Sie vor dem Interrupt den Ruhezustand aktivieren, wird der Ruhezustand aktiviert und eine Ausnahme generiert.
Test
public class SleepActionTest() {
@Test
public void testSleep() throws Exception {
Thread th = new Thread( ()-> {
SleepAction.sleep(1000000000);
});
th.start();
TimeUnit.MILLISECONDS.sleep(100);
th.interrupt();
}
}
SleepAction
public class SleepAction {
public static void sleep(int i) {
try {
TimeUnit.MILLISECONDS.sleep(i);
} catch (Exception e) {
e.printStackTrace();
}
}
}