Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Gestion des Exceptions en PL/SQL
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Bases de donnéesDéveloppement

Gestion des Exceptions en PL/SQL

L'Équipe Alphorm Par L'Équipe Alphorm 21 novembre 2024
Partager
Partager

Les erreurs non gérées en PL/SQL peuvent arrêter brutalement un programme.

Cela cause des interruptions coûteuses et complique le débogage.

L’article explore comment gérer les exceptions PL/SQL pour un code fluide et robuste.

Table de matière
Créer des Exceptions PL/SQL EfficacesUtiliser les Exceptions Prédéfinies PL/SQLExemples de Gestion d'Exceptions PL/SQLFAQConclusion

Formation Le langage PL/SQL : Le Guide Complet

Maîtriser le langage SQL en environnement SGBDR. SQL n'aura plus de secrets pour vous !

Découvrir cette formation

Lorsque vous écrivez du code PL/SQL, il est essentiel de gérer les erreurs potentielles afin de garantir une exécution fluide et de capturer les problèmes dès qu’ils surviennent. Les exceptions en PL/SQL permettent de réagir aux erreurs de manière structurée, de personnaliser les messages d’erreur et de contrôler le flux d’exécution pour éviter l’arrêt brutal du programme.

Créer des Exceptions PL/SQL Efficaces

Pour créer une exception dans un bloc PL/SQL , vous devez ajouter une section EXCEPTION après les instructions principales de votre bloc BEGIN . La syntaxe est simple : vous indiquez l’exception que vous souhaitez gérer avec le mot-clé WHEN suivi d’une ou plusieurs exceptions. Vous pouvez aussi ajouter WHEN OTHERS pour capturer toute autre erreur non spécifiée.

Diagramme de traitement des exceptions PL/SQL
				
					
 DECLARE
-- Déclaration des variables
BEGIN
-- Instructions PL/SQL
EXCEPTION
WHEN <nom_exception> [ OR <nom_exception> ... ] THEN
<instructions_plsql>;
...
WHEN OTHERS THEN
<instructions_plsql>;
END;

				
			

Utiliser les Exceptions Prédéfinies PL/SQL

Dans PL/SQL, certaines exceptions sont prédéfinies pour gérer les erreurs les plus courantes sans avoir besoin d’ajouter de logique complexe. Ces exceptions sont accessibles directement et se trouvent dans le package STANDARD . Vous pouvez ainsi gérer ces erreurs simplement et efficacement.

Voici quelques exemples d’exceptions prédéfinies et leurs codes d’erreur correspondants :

Exception
Code d’erreur
SQLCODE
NO_DATA_FOUND
ORA-01403
+100
CURSOR_ALREADY_OPEN
ORA-6511
-6511
ZERO_DIVIDE
ORA-01476
-1476
CASE_NOT_FOUND
ORA-6592
-6592

Tableau 1 : exemples d’exceptions prédéfinies

Ces exceptions vous aident à éviter des erreurs fréquentes, comme la division par zéro ou la tentative de récupération de données inexistantes.

Exemples de Gestion d'Exceptions PL/SQL

Il est toujours plus facile d’apprendre en voyant comment cela fonctionne concrètement. Voici deux exemples pour illustrer la gestion des exceptions dans PL/SQL.

  • Exemple 1 :Gérer l’absence de données

Dans cet exemple, vous cherchez un nom de salarié spécifique dans la table salaries. Si le nom Dodo n’est pas trouvé, l’exception NO_DATA_FOUND sera déclenchée et affichera un message personnalisé pour signaler que le salarié n’existe pas.

				
					
 SET SERVEROUTPUT ON;
DECLARE
var_nom salaries.nom_sal%TYPE := 'Dodo';
BEGIN
SELECT nom_sal INTO var_nom
FROM salaries
WHERE nom_sal = var_nom;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Le salarié dont le nom est ' || var_nom || ' n\'existe pas.');
END;

				
			

La sortie de ce code dépendra de l’existence d’une ligne dans la table salaries dont la colonne nom_sal a pour valeur ‘Dodo’.

Si un salarié nommé ‘Dodo’ existe dans la table salaries :

  • Le bloc BEGIN…END s’exécute sans déclencher l’exception, mais comme il n’y a aucune instruction d’affichage, il n’y aura aucune sortie visible.

Si aucun salarié nommé ‘Dodo’ n’existe dans la table salaries :

  • L’exception NO_DATA_FOUND sera levée, et le message suivant sera affiché :
Message d'erreur PL/SQL salarie non trouve
  • Exemple 2 :Gérer plusieurs exceptions

Dans ce deuxième exemple, vous sélectionnez un nom de salarié sans condition de filtrage. Cela peut poser problème s’il y a plus d’une ligne correspondante. Vous pouvez gérer cette situation en ajoutant WHEN OTHERS pour capturer toute autre exception que NO_DATA_FOUND, ce qui permet d’afficher un message général d’erreur.

				
					
 SET SERVEROUTPUT ON;
DECLARE
var_nom salaries.nom_sal%TYPE;
BEGIN
SELECT nom_sal INTO var_nom
FROM salaries;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Aucun salarié trouvé avec le nom ' || var_nom);
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('Plusieurs lignes correspondent à cette requête.');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Une erreur inconnue est survenue.');
END;

				
			

Dans cet exemple, nous avons ajouté l’exception TOO_MANY_ROWS, une exception prédéfinie pour gérer les erreurs de requêtes qui retournent plus d’une ligne. Elle vous permet de réagir immédiatement si le résultat de la requête n’est pas unique, vous garantissant un contrôle précis de la sortie du programme.

Sortie PL/SQL: Plusieurs lignes trouvées

En utilisant ces exceptions prédéfinies, vous pouvez capturer de manière efficace des erreurs potentielles et adapter vos messages d’erreur pour une meilleure clarté et gestion des problèmes dans vos programmes PL/SQL.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment créer une exception en PL/SQL ?
Pour créer une exception en PL/SQL, ajoutez une section EXCEPTION après le bloc BEGIN. Utilisez le mot-clé WHEN suivi d’exceptions spécifiques pour gérer les erreurs. Par exemple, WHEN NO_DATA_FOUND gère l’absence de données. Vous pouvez également utiliser WHEN OTHERS pour capturer des erreurs non spécifiées. Cela permet de personnaliser les messages d’erreur et de maintenir le contrôle du flux d’exécution.
Quelles sont les exceptions prédéfinies en PL/SQL ?
Les exceptions prédéfinies en PL/SQL sont des erreurs courantes gérées automatiquement, telles que NO_DATA_FOUND pour des requêtes sans résultats, ZERO_DIVIDE pour éviter les divisions par zéro, et TOO_MANY_ROWS pour gérer les requêtes retournant plusieurs lignes. Ces exceptions simplifient la gestion des erreurs, car elles sont intégrées directement dans le package STANDARD, permettant une gestion efficace sans logique complexe supplémentaire.
Comment gérer plusieurs exceptions en PL/SQL ?
Pour gérer plusieurs exceptions en PL/SQL, vous pouvez définir plusieurs conditions WHEN dans la section EXCEPTION. Chaque condition gère une erreur spécifique. Par exemple, utilisez WHEN NO_DATA_FOUND pour l’absence de résultats, WHEN TOO_MANY_ROWS pour des résultats multiples et WHEN OTHERS pour toute autre erreur. Cette approche permet de capturer et de gérer efficacement diverses erreurs possibles dans votre code PL/SQL.
Pourquoi est-il important de gérer les exceptions en PL/SQL ?
Gérer les exceptions en PL/SQL est essentiel pour assurer la robustesse du code et éviter les arrêts brusques du programme. En capturant les erreurs, vous pouvez personnaliser les messages d’erreur et maintenir le flux d’exécution. Cela améliore la clarté du code et facilite le diagnostic des problèmes, garantissant ainsi une meilleure efficacité et fiabilité de vos applications PL/SQL.
Comment les exceptions PL/SQL améliorent-elles le flux d'exécution ?
Les exceptions PL/SQL améliorent le flux d’exécution en permettant de gérer les erreurs de manière structurée, évitant ainsi l’arrêt brutal du programme. En définissant des exceptions spécifiques avec des conditions WHEN, vous pouvez contrôler les réponses aux erreurs et assurer une exécution continue et fluide du code. Cela garantit une meilleure gestion des erreurs et une expérience utilisateur améliorée.

Conclusion

En maîtrisant la gestion des exceptions en PL/SQL, vous renforcez la fiabilité et l’efficacité de votre code. Quelles autres stratégies utilisez-vous pour optimiser votre gestion des erreurs en programmation ?

ÉTIQUETÉ : PL/SQL
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Gestion des Exceptions en PL/SQL

© Alphorm - Tous droits réservés