
Si le programmeur veut gérer d'autres types d'erreurs que celles prédéfinies, généralement
des erreurs liées à l'application, il doit les définir et aussi assurer le branchement sur la partie
EXCEPTION à l'aide de la commande RAISE, utilisée dans un bloc de traitement
conditionnel.
121
DECLARE
code number;
msg varchar2(200);
recart article%ROWTYPE;
pas_de_prix EXCEPTION;
BEGIN
SELECT * INTO recart FROM article
WHERE idarticle = &numéro;
IF recart.prixunit = 0 THEN
RAISE pas_de_prix;
END IF;
EXCEPTION
WHEN pas_de_prix THEN
dbms_output.put_line('Cet article n'a pas de prix');
WHEN OTHERS THEN
code:= SQLCODE;
msg:= SQLERRM(code);
dbms_output.put_line(to - char(code»;
dbms_output.put_line(msg);
END;