In the normal course of processing in ABAP, sometimes there is an interruption which raises an exception. Best practices dictate that the exceptions should be properly handled. These exceptions are either triggered by the runtime environment or at times is triggered by using RAISE_EXCEPTION to accommodate specific requirement.

There are three major classes of exception – CX_STATIC_CHECK, CX_DYNAMIC_CHECK, and CX_NO_CHECK – all being part of superclass CX_ROOT.

CX_STATIC_CHECK: these are checked at both code level and runtime environment.
CX_DYNAMIC_CHECK: these are checked at only runtime like CX_SY_ZERO_DIVIDE.
CX_NO_CHECK: these can occur almost everywhere and are always implicitly declared.

Any exception should be handled in TRY…ENDTRY block using CATCH statement. If an exception is not caught, it usually leads to short dump.