Exceptions occur during runtime, they are generally undesired flow of the application. Exceptions can be handled using a try catch statement. This will allow the application to decide what to do when the exception occurs.

The easiest way to think of exceptions is to group them into 3 categories.

  1. Base Exception - Covers all types of exceptions.
  2. Specific Exceptions - Exceptions for specific events like divide by zero. These extend from the base exception. These are built into .net.
  3. Custom Exceptions - These are also a type of specific exceptions, but are custom created. These also extend from base exception.