2009-09-22 7 views
2

Dans une procédure stockée que j'ai utilisée pour;Exceptions d'oracle personnalisées via JDBC

raise_application_error (-20010, 'My Message'); 

d'élever une erreur personnalisée dans une certaine situation. Ce que j'essaye de faire est quand je fais mon appel JDBC de java, pour pouvoir identifier cette erreur comme n'étant pas simplement une SQLException afin que je puisse la manipuler différemment. Je pense que je pourrais l'identifier par le errorCode, mais cela semble toujours être 17062 et non -20010.

Existe-t-il un autre moyen de le faire, ou ai-je oublié quelque chose?

Répondre

2

vous devriez obtenir 20010 comme errorCode. le ORA-17062 est une erreur pour les curseurs de référence invalides. Êtes-vous sûr que la procédure que vous appelez lance l'erreur personnalisée?

+0

Wow, je me sens stupide. Il lançait l'erreur, mais j'attrapais aussi l'exception dans le paquet, en la logeant, puis en renvoyant null, provoquant l'ORA-17062. Je n'y ai pas réfléchi avant d'avoir lu votre message. Merci pour l'aide. –

+0

heureux d'aider =) –