Understanding Breakpoint Types
There are several different types of breakpoints, each with different uses:
Exception: An exception of this class (or a subclass) is thrown. This is useful when you don’t know where the exception occurs, but you know what kind of exception it is, such as a java.lang.NullPointerException. The check box options enable you to control whether to break on caught or uncaught exceptions of this class. The Browse button helps you find the fully qualified class name of the exception. The Exception Class combo box remembers most recently used exception breakpoint classes. Note that this is the default breakpoint type when you create a breakpoint in the breakpoints window.
Source: A particular source line in a particular class in a particular package is run. You can create a source breakpoint in the New Breakpoint window, but it is usually easier to create it by clicking in the breakpoint margin in the editor at the left of the line you want to break on.
Method: A method in a given class is invoked. This is handy to set breakpoints on a particular method you might have seen in the call stack while debugging a problem. Of course, if you have the source you can set a source breakpoint wherever you want in that class, but this kind of breakpoint enables you to stop in the debugger even when you don’t have source for a class.