ich ein Stück Java-Code geschrieben Thread zu testen, wie:Warum kann ich nicht Ausnahme sehe von Java-Dämon-Thread geworfen
public static void main(String[] args) {
Thread t = new Thread(() -> {
throw new NullPointerException();
});
t.setDaemon(true);
t.start();
}
Ich erwartete so etwas wie zu sehen:
Exception in thread "Thread-0" java.lang.NullPointerException
at com.cisco.ruan.nio.Java8Time.lambda$0(Java8Time.java:23)
at java.lang.Thread.run(Thread.java:745)
Aber nichts wird ausgedruckt, außer ich habe t.setDaemon(true);
kommentiert.
Meine Frage ist, warum gibt es keine Nachricht, wenn eine Ausnahme in einem Daemon-Thread aufgetaucht ist. Was ist der Zweck eines solchen Designs?
Bitte suchen Sie SO, bevor Sie fragen: https://stackoverflow.com/questions/6546193/how-to-catch-an-exception-from-a-thread –