When a custom exception is declared and not handled in the code, raising this exception will cause the error "ORA-06510: PL/SQL: unhandled user-defined exception" in the database or the error "User-defined exception" in Oracle Forms.
It is a good practice to handle custom exceptions.
DECLARE my_exception EXCEPTION; BEGIN ... RAISE my_exception; -- this will cause an "user-defined exception" END;
DECLARE my_exception EXCEPTION; BEGIN ... RAISE my_exception; EXCEPTION WHEN my_exception THEN ... END;
This check will also trigger a violation if the exception is handled by a OTHERS handler and it has a reference to SQLERRM. In this case, the SQLERRM will return "User-defined exception", which is not very useful.
DECLARE my_exception EXCEPTION; BEGIN ... RAISE my_exception; EXCEPTION WHEN OTHERS THEN log(SQLERRM); END;