Exception class:
- It is used for exceptional conditions that user programs should catch.
- It's also the class that you will sub-class to create your own custom exception types.
- For example, NullPointerException will be thrown if you try using a null reference.
- It indicates serious problems that a reasonable application should not try to catch.
- It's used by the Java run-time system to indicate errors having to do with the run-time environment, itself.
- For example, stack overflow is an error.