Les erreurs sont inévitables en ce qui concerne les développements. C'est donc un bon plan pour vous assurer que vous avez mis en œuvre certaines mesures afin que les erreurs ne cassent pas la fonctionnalité de votre application.
SQL Server nous permet d'utiliser l'instruction Throw pour soulever une exception. Nous transférons ensuite le contexte d'exécution dans un bloc d'essai et attrape le bloc pour gérer l'erreur.
Syntaxe
L'extrait de code suivant affiche la syntaxe de l'instruction Throw:
Lancer [error_numer,Les arguments dans la syntaxe fournis comprennent les éléments suivants:
Remarque: Toute déclaration devant une clause de lancer doit être résiliée avec un point-virgule. Le serveur SQL exige également que le lancer inclue les arguments précédents. Si l'instruction Throw n'a pas les arguments précédents, il doit être enfermé dans un bloc d'essai / capture.
La syntaxe est la suivante:
Commencer à essayerVous ne pouvez pas utiliser le caractère% dans le paramètre Error_Message. C'est parce que c'est un personnage réservé. Si vous devez inclure le caractère% dans votre message d'erreur, assurez-vous de lui échapper en ayant le double pourcentage de caractères (%%).
Exemples de déclaration de lancer SQL Server
Jetons un coup d'œil à quelques exemples de la déclaration de lancer en action.
SQL Server Utilisation de l'instruction Throw pour lancer l'exception
L'exemple suivant démontre l'utilisation de l'instruction Throw pour lever une exception:
lancer 50001, '[échoue] - la valeur demandée n'est pas trouvée.', 1;Dans cet exemple, nous utilisons l'instruction Throw pour soulever une exception avec le code d'erreur 50001 et l'état de 1.
La sortie résultante est la suivante:
Erreur SQL [50001] [S0001]: [FAIL] - La valeur demandée n'est pas trouvée.SQL Server RETHROWS Exception à l'aide de l'instruction Throw
Nous pouvons également utiliser l'exception de lancer pour relancer la dernière exception. Un exemple de code est le suivant:
Tableau de dépose si existe t;La requête précédente doit imprimer ce qui suit:
Erreur capturéeUtilisation du formatMessage pour lancer un message personnalisé
L'exemple suivant montre comment utiliser la fonction FormatMessage pour lancer une exception avec un message personnalisé:
EXEC SYS.SP_ADDMESSAGE @MSGNUM = 50001,Dans ce cas, la fonction de formatMessage nous permet d'ajouter les messages personnalisés, y compris les variables. Encore une fois, vous pouvez vérifier les documents du SQL Server SP_AddMessage () pour en savoir plus.
Le message d'erreur résultant est le suivant:
Erreur SQL [50001] [S0001]: un message personnalisé comprenant la variable: 100Conclusion
Cet article a expliqué comment vous pouviez utiliser la clause de lancer dans le serveur SQL pour lever une exception.
Merci d'avoir lu!