November 2017
Intermediate to advanced
670 pages
17h 35m
English
In Java, when an exception occurs in a method, the process of creating the exception object and handing it over to the runtime environment is called throwing an exception.
The normal flow of the program halts when this happens, and JRE tries to find a handler in the call stack that can process the raised exception.
The exception object contains a lot of debugging information, such as the line number where the exception occurred, type of exception, the method hierarchy, call stack, and so on.
Dozens of common exception handling antipatterns exist in Java largely due to the design and misunderstanding of proper use of Java's type hierarchy.