Question: what is the difference between raise application error and pragma exception init?
Answer: pragma exception init turns an Oracle Error into a named exception. If a database operation raises an ORA-00054 "resource busy", you would have to code: .... ... Raise_application_error is used to RAISE an error - exception_init is used to deal with errors (i guess you could say they are opposites in a way).