Ja, es ist möglich.
Sie können einen nicht abgefangenen Ausnahmebehandler verwenden. Seine Aufgabe besteht darin, die Ausnahmen zu erfassen, die Ihr Programm nicht erfasst hat, und etwas damit zu tun.
public static void main(String[] args) throws IOException {
Thread.setDefaultUncaughtExceptionHandler((thread, thr) -> thr.printStackTrace());
throw new IOException("Something went wrong");
}
setDefaultUncaughtExceptionHandler
ist eine Methode, die einen Handler registrieren wird, die aufgerufen wird, wenn eine Ausnahme in jedem Thread geworfen wurde, und wurde nicht gefangen. Der obige Code wird das Stacktrace des handlichen Throwable ausgeben.
Der Handler verwendet als Argument den Thread, in dem die Ausnahme aufgetreten ist, und das geworfene Throwable.
Sie können auch einen Handler pro Thread durch setUncaughtExceptionHandler
auf einer Thread
Instanz verwenden. Dieser Handler würde alle nicht abgefangenen Ausnahmen verarbeiten, die von diesem Thread ausgelöst wurden.
Der Code, den Sie dort haben, wird nicht kompiliert. Sie können die Ausnahme jedoch durch Hinzufügen eines "Fang" -Blocks abfangen. – Dando18
Wenn Sie eine Ausnahme abfangen möchten, verwenden Sie einen 'catch' Block. –
Die Frage macht keinen Sinn :) –