Oracle
 sql >> Base de données >  >> RDS >> Oracle

Introduction à la gestion des exceptions PL/SQL dans la base de données Oracle

On ne peut pas dire que le code est robuste tant qu'il ne peut pas gérer toutes les exceptions. Les bogues et l'arrêt brutal d'un programme sont les cauchemars de la vie d'un programmeur. Aucun programmeur ne veut développer un code qui plantera à mi-chemin ou se comportera de manière inattendue. Ainsi pour le bon déroulement d'un logiciel il est nécessaire de gérer toutes sortes d'exceptions.

Connaître votre problème est la première étape pour trouver sa solution. Apprenons-en plus sur la gestion des exceptions dans la base de données Oracle.

Qu'est-ce qu'une exception ?

Toute condition anormale ou événement qui interrompt le flux normal des instructions de votre programme au moment de l'exécution est une exception. Ou en termes simples, vous pouvez dire qu'une exception est une erreur d'exécution.

Octet d'information :
Les exceptions sont conçues pour la gestion des erreurs d'exécution plutôt que pour la gestion des erreurs de compilation. Les erreurs qui se produisent pendant la phase de compilation sont détectées par le compilateur PL/SQL et signalées à l'utilisateur.

Types d'exceptions

Il existe deux types d'exceptions PL/SQL dans la base de données Oracle.

  1. Exceptions définies par le système et
  2. Exceptions définies par l'utilisateur

Exceptions définies par le système

Les exceptions définies par le système sont définies et gérées implicitement par le serveur Oracle. Ces exceptions sont principalement définies dans le package Oracle STANDARD . Chaque fois qu'une exception se produit à l'intérieur du programme. Le serveur Oracle correspond et identifie l'exception appropriée à partir de l'ensemble d'exceptions disponibles.

Les exceptions définies par le système ont principalement un code d'erreur négatif et un message d'erreur. Ces erreurs ont un nom court qui est utilisé avec le gestionnaire d'exceptions.

Octet d'information :
Oracle utilise deux fonctions utilitaires SQLCODE et SQLERRM pour récupérer le code d'erreur et le message de la dernière exception survenue.

Exceptions définies par l'utilisateur

Contrairement à l'exception définie par le système, les exceptions définies par l'utilisateur sont déclenchées explicitement dans le corps du bloc PL/SQL (plus précisément dans la section BEGIN-END) à l'aide de l'instruction RAISE.

Comment déclarer une exception définie par l'utilisateur dans la base de données Oracle.

Il existe trois façons de déclarer des exceptions définies par l'utilisateur dans Oracle Database.

  1. En déclarant une variable de type EXCEPTION dans la section déclaration.

Vous pouvez déclarer une exception définie par l'utilisateur en déclarant une variable de type de données EXCEPTION dans votre code et la déclencher explicitement dans votre programme à l'aide de l'instruction RAISE et les gérer dans la section Exception.

  1. Déclarer une exception définie par l'utilisateur à l'aide de la fonction PRAGMA EXCEPTION_INIT.

À l'aide de la fonction PRAGMA EXCEPTION_INIT, vous pouvez mapper un numéro d'erreur non prédéfini avec la variable de type de données EXCEPTION. Signifie qu'en utilisant la même fonction, vous pouvez associer une variable de type de données EXCEPTION à une erreur standard.

  1. Méthode RAISE_APPLICATION_ERROR.

En utilisant cette méthode, vous pouvez déclarer une exception définie par l'utilisateur avec votre propre numéro d'erreur et message personnalisés.

C'est tout pour cette section. J'espère que vous avez apprécié la lecture de cette brève introduction à la gestion des exceptions dans Oracle Database. Dans ce blog, j'ai essayé de répondre à quelques questions auxquelles vous pouvez vous attendre dans votre certification de base de données Oracle ainsi que dans l'interview .

Restez à l'écoute car dans le prochain didacticiel, nous ferons quelques exemples sympas expliquant les concepts mentionnés ci-dessus qui vous aideront à améliorer vos connaissances et vous donneront une solide emprise sur les concepts de gestion des exceptions PL/SQL. Merci et bonne journée !