Quando uma exceção é declarada e não é tratada no código, lançar essa exceção causa o erro "ORA-06510: PL/SQL: unhandled user-defined exception" no banco de dados ou o erro "User-defined exception" no Oracle Forms.

É uma boa prática sempre tratar exceções personalizadas.

Código em desconformidade

DECLARE
  my_exception EXCEPTION;
BEGIN
  ...
  RAISE my_exception; -- isso causará um "user-defined exception"
END;

Código correto

DECLARE
  my_exception EXCEPTION;
BEGIN
  ...
  RAISE my_exception;
EXCEPTION
  WHEN my_exception THEN
    ...
END;

Essa verificação também registrará uma violação se a exceção é tratada por um OTHERS e que tem uma referência a SQLERRM. Nessa situação, a variável SQLERRM retornará "User-defined exception", o que não é muito útil.

DECLARE
  my_exception EXCEPTION;
BEGIN
  ...
  RAISE my_exception;
EXCEPTION
  WHEN OTHERS THEN
    log(SQLERRM);
END;