How to use Intellij Idea's exception breakpoints
This seems a dumb question, but I can't figure out how to debug exceptions in Intellij Idea. Googling does not help either.
I try to create exception breakpoints. When IDEA breaks, I expect it to give me a call stack showing what leads to the method that throws the exception as well as automatic watch window just like Visual Studio's debugging tool. Instead it shows all kinds of garbled message about Launcher
or ClassLoader
, but no signs of the actual exception during runtime.
So how exactly is IDEA's exception breakpoint supposed to be used?
It works really well and I don't really know what kind of problems you have with Launcher or ClassLoader. It could be that you have selected to catch Any exceptions
and this means that it will catch all kinds of exceptions during the startup and class loading as well. You have to make specific choices about what exceptions to catch, or just go through them all until your exception is caught.
Anyhow I will show you how I set up a very simple case and you'll see that it is working really well.
I have a simple case where a NullPointerException
will be thrown.
First you'll have to set up the exception breakpoint.
Enter the View Breakpoints...
window by pressing Ctrl+Shift+F8. Then press the little + sign in the upper left corner.
Enter NullPointerException and press the OK
button.
Make sure that the Any exception
is not checked.
Now run the program by right-clicking inside the main method and select Debug 'SomeClass.main()'
And finally watch when the exception is caught and you will have all the things you expected like call stack and watch window.
I finally figured out by myself. In the View Breakpoints
windows, check Any Exception
but uncheck the mark for Caught exception
. The launcher and class loader exceptions are caught and handled internally by the JVM. This way any user exceptions will be caught without manually specifying the type of exception.