Dans ce guide, vous apprendrez à implémenter la gestion des erreurs dans SQL Server en utilisant les blocs d'essai et de capture.
Si vous cherchez à apprendre à générer des messages d'erreur définis par l'utilisateur, consultez notre tutoriel sur le tutoriel SQL Server Raiserror.
Introduction
Les blocs d'essai et de capture dans le serveur SQL vous permettent de prédire et de gérer gracieusement les erreurs qui peuvent se produire dans les requêtes SQL.
Tout d'abord, joignez les requêtes SQL qui peuvent provoquer des erreurs dans un bloc d'essai. Vous pouvez ensuite ajouter un bloc de capture une fois qu'une exception est élevée.
La syntaxe pour un bloc d'essai est comme indiqué:
commencer à essayerAprès le bloc d'essai, vous pouvez définir un bloc de capture qui suit une syntaxe similaire comme indiqué:
commencer à attraperTout d'abord, le serveur SQL essaiera d'exécuter le code à l'intérieur du bloc d'essai. Si aucune erreur / exception ne se produit, elle saute le bloc de capture et continue avec l'exécution.
Cependant, si une erreur se produit à l'intérieur du bloc d'essai, l'exécution saute à l'intérieur de la capture et exécute le code à l'intérieur de ce bloc.
La syntaxe pour un bloc d'essai / capture complet est comme indiqué:
commencer à essayerVous pouvez implémenter des mesures pour gérer l'erreur augmentée à l'intérieur du bloc de capture, telles que l'affichage des messages en utilisant Raiserror et des déclarations d'impression. N'oubliez pas que le message d'erreur à l'intérieur du bloc de capture n'est pas renvoyé à l'application à moins d'utiliser des mécanismes, comme une instruction SELECT.
Vous pouvez utiliser des fonctions spéciales pour obtenir des informations détaillées sur l'erreur:
Assurez-vous d'utiliser les fonctions précédentes dans un bloc de capture; Sinon, ils retourneront une valeur nulle.
Exemples d'essai / capture SQL Server
Laissez-nous utiliser un fossé par zéro erreur pour illustrer comment utiliser le bloc Try / Catch. Commencez par créer une procédure comme indiqué dans les requêtes suivantes:
-- obtenir des informations d'erreurDans l'exemple ci-dessus, nous créons une procédure stockée pour récupérer des informations sur une erreur. Ensuite, nous soulevons une erreur en plongeant par zéro.
Si nous exécutons la requête ci-dessus, nous devrions obtenir une sortie comme:
Que se passe-t-il s'il n'y a pas d'erreur dans le bloc de capture comme indiqué:
commencerPuisqu'il n'y a pas d'erreur dans le bloc d'essai, le serveur SQL saute les blocs de capture et renvoie le résultat. Un exemple de résultat est comme indiqué:
Conclusion
Ce guide a couvert l'implémentation et l'utilisation de la gestion des erreurs dans le serveur SQL à l'aide des blocs Try / Catch. De plus, des fonctions spéciales ont été expliquées et fournies pour récupérer des informations détaillées sur l'erreur. Nous espérons que vous avez trouvé cet article utile. Découvrez plus d'articles sur les conseils pour les conseils et les informations sur les serveurs SQL.