I am using a class called MyExceptionHandler that implements Thread.UncaughtExceptionHandler to handle normal exceptions in my project.
MyExceptionHandler
Thread.UncaughtExceptionHandler
As
Summarizing the above... with newer Java you can just do this:
// Log exceptions thrown on the event dispatcher thread SwingUtilities.invokeLater(() -> Thread.currentThread().setUncaughtExceptionHandler((thread, t) -> this.log.error("exception in event dispatcher thread", t)));