Raising Exceptions
There are three ways that an exception may be raised in your application:
Oracle might raise the exception when it detects an error.
You might raise an exception with the RAISE statement.
You might raise an exception with the RAISE_APPLICATION_ERROR built-in procedure.
We’ve already looked at how Oracle raises exceptions. Now let’s examine the different mechanisms you can use to raise exceptions.
RAISE statement
Oracle offers the RAISE statement so that you can, at your discretion, raise a named exception. You can raise an exception of your own or a system exception. The RAISE statement can take one of three forms:
RAISEexception_name; RAISEpackage_name.exception_name; RAISE;
The first form (without a package name qualifier) can be used to raise an exception you have defined in the current block (or an outer block containing that block) or to raise a system exception defined in the STANDARD package.
The second form does require a package name qualifier. If an exception has been declared inside a package (other than STANDARD) and you are raising that exception outside that package, you must qualify your reference to that exception in your RAISE statement.
The third form of the RAISE statement does not require an exception name but can be used only within a WHEN clause of the exception section. Use this form when you want to re-raise (or propagate out) the same exception from within an exception handler.
Using RAISE_APPLICATION_ERROR
Oracle provides the RAISE_APPLICATION_ERROR ...