Il ne "génère" pas d'erreur : c'est la pile des erreurs. Regarde le libellé des erreurs avant de poser des questions sur Oracle ;-)
Les erreurs de -06500 à -06599 sont des erreurs PL/SQL
=> ORA-06512 : indique la ligne de l'erreur (at str line num)
Les erreurs de -04070 à -04099 sont les messages des triggers :
=> ORA-04088 : error during execution of trigger nomdutrigger
Au niveau oracle, je ne suis pas sur qu'on puisse changer ce comportement (il existe bien un deuxième paramètre à raise_application_error, à TRUE ou FALSE, censé mettre l'erreur dans la pile ou tout écraser, mais chez moi en Oracle 8, ça ne change rien :-( )
Mais ne t'inquiete pas trop : le SQLCODE vaudra bien la bonne valeur (celle de ton raise_application_error), donc dans le traitement du "dessus", tu n'auras aucun pb si c'est ce que tu crains :-)
@++
Poster, poster encore et toujours :-)