PL/SQL allows developers to define their own exceptions.User can define the error/exception programically based on the business rule. This is usually done on validating some values or parameters.Even exception can be given meaningful names. There are 3 steps to handle the User exception 1. Define Exception We need to define the exception before we raise and handle. User Exceptions are defined using keyword EXCEPTION in declaration section of the block. The syntax is as follows Code (Text): <exception_name> EXCEPTION ; 2. Raise the Exception Once the exceptions are defined , they need to be raised anywhere in the body depending upon predifined logic. User exceptions are raised using the keyword RAISE. Syntax is as shown below Code (Text): RAISE <exception_name> 3. Handle the Exception. User exception are handled in the same way predefined exceptions are handled. They are handlded in exception block using WHEN .. THEN keyword Syntax is as shown below Code (Text): WHEN <exception_name> THEN ..... Alternately we can give user defined error code and error message for the hadled excpetion. RAISE_APPLICATION_ERROR is used for this purpose. Its syntax is as follows. Code (Text): RAISE_APPLICATION_ERROR(<error_code>, <error_message>) Here "error_code" should be in the range of (-20000,-20999) and "error_message" is the user defined error message for the user defined exception.