This document discusses types of exceptions in Java. It begins by showing the exception hierarchy with Throwable at the top, and Error and Exception as subclasses. Exception is used for exceptions that user programs should catch, while Error defines exceptions not expected to be caught. There are two types of exceptions: unchecked exceptions which do not need to be included in a method's throws list, and checked exceptions which must be included in the throws list or caught within a method. Examples of each type are provided.