“An Exceptional Change in PHP 7.0” blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart:
\Throwable ├── \Exception (implements \Throwable) │ ├── \LogicException (extends \Exception) │ │ ├── \BadFunctionCallException (extends \LogicException) │ │ │ └── \BadMethodCallException (extends \BadFunctionCallException) │ │ ├── \DomainException (extends \LogicException) │ │ ├── \InvalidArgumentException (extends \LogicException) │ │ ├── \LengthException (extends \LogicException) │ │ └── \OutOfRangeException (extends \LogicException) │ └── \RuntimeException (extends \Exception) │ ├── \OutOfBoundsException (extends \RuntimeException) │ ├── \OverflowException (extends \RuntimeException) │ ├── \RangeException (extends \RuntimeException) │ ├── \UnderflowException (extends \RuntimeException) │ └── \UnexpectedValueException (extends \RuntimeException) └── \Error (implements \Throwable) ├── \AssertionError (extends \Error) ├── \ParseError (extends \Error) └── \TypeError (extends \Error)
Very handy!