Error and Exception:
- Error: An Error that the program cannot handle
- Exception: An Exception that can be handled by the program itself
PantUML grammar
A < | - B / / B inherited A < | C... D //D implements CCopy the code
@startuml interface Serializable{ } class Throwable{ } class Exception{ } class Error{ } class IOError{ } abstract class VirtualMachineError{ } class AWTError{ } class StackOverflowError{ } class OutOfMemoryError{ } class IOException{ } class RuntimeException{ } class ReflectiveOperationException{ } class ClassNotFoundException{ } class EOFException{ } class FileNotFoundException{ } class ArithmeticException{ } class MissingResourceException{ } class NullPointerException{ } class IllegalArgumentException{ } class IndexOutOfBoundsException{ } class ArrayIndexOutOfBoundsException{ } class UnknownEntityException{ } class UnknownTypeException{ } Serializable <|.. Throwable Throwable <|-- Exception Throwable <|-- Error Error <|-- IOError Error <|-- VirtualMachineError Error <|-- AWTError VirtualMachineError <|-- StackOverflowError VirtualMachineError <|-- OutOfMemoryError Exception <|-- IOException Exception <|-- RuntimeException Exception <|-- ReflectiveOperationException ReflectiveOperationException <|-- ClassNotFoundException IOException <|-- EOFException IOException <|-- FileNotFoundException RuntimeException <|-- ArithmeticException RuntimeException <|-- MissingResourceException RuntimeException <|-- NullPointerException RuntimeException <|-- IllegalArgumentException RuntimeException <|-- IndexOutOfBoundsException RuntimeException <|-- UnknownEntityException UnknownEntityException <|-- UnknownTypeException IndexOutOfBoundsException <|-- ArrayIndexOutOfBoundsException @endumlCopy the code
The Java exception class diagram and UML diagram are shown below