Ich habe eine KlasseIgnorieren InterruptedException von einem anderen Thread geworfen
class Foo {
static void bar() throws InterruptedException {
// do something
Thread.sleep(1000);
}
static void baz(int a, int b, int c) throws InterruptedException {
// do something
Thread.sleep(1000);
}
}
Dann einfach es laufe ich in meinem Haupt
class Main {
public static void main() {
new Thread(Foo::bar).start();
new Thread(() -> Foo.baz(1, 2, 3)).start();
new Thread(() -> Foo.baz(1, 2, 3)).start();
}
}
mich nicht über die InterruptedException
kümmern. Ich habe versucht, einen try-catch-Block zu schreiben, aber offensichtlich wird die Ausnahme nicht abgefangen. Java erlaubt mir nicht, main() zu werfen.
Wie kann ich diese Ausnahme ignorieren, die mir überhaupt egal ist? Ich möchte in jedem Thread-Konstruktor keinen try-catch-Block schreiben.
Die Ausnahme sollte manchmal geworfen werden, aber in diesem speziellen Fall ist mir egal.
Wo haben Sie den Try-Catch-Block hinzufügen? – user1766169
Ein Thread wird mit einem Runnable erstellt, und ein Runnable kann keine geprüfte Ausnahme auslösen. – Sam
Nein, es ist kein Duplikat, weil es trivial ist, es in einem einzigen Thread zu erfassen. Und es ist nicht trivial, es ohne Code-Wiederholung oder schlechtes Design Multithreaded zu fangen. – marmistrz