An exception classes define different exception categories. Typical exceptions are program exceptions, data exceptions, language exceptions and user-defined exceptions.