0% ont trouvé ce document utile (0 vote)
6 vues16 pages

Exeption

Le document traite de la gestion des données dans le cadre du développement digital, en se concentrant sur les bases de données relationnelles MySQL et NoSQL MongoDB. Il aborde la gestion des exceptions en SQL, y compris la syntaxe pour déclarer des gestionnaires d'erreurs et les différents types d'exceptions. Des concepts tels que SIGNAL et RESIGNAL pour la gestion des erreurs personnalisées sont également expliqués.

Transféré par

haroundeutsch439
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues16 pages

Exeption

Le document traite de la gestion des données dans le cadre du développement digital, en se concentrant sur les bases de données relationnelles MySQL et NoSQL MongoDB. Il aborde la gestion des exceptions en SQL, y compris la syntaxe pour déclarer des gestionnaires d'erreurs et les différents types d'exceptions. Des concepts tels que SIGNAL et RESIGNAL pour la gestion des erreurs personnalisées sont également expliqués.

Transféré par

haroundeutsch439
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

GÉRER LES DONNÉES

Filière Développement Digital Option Web Full Stack


SOMMAIRE

1. Exploiter les fonctionnalités avancées d’un SGBD relationnel


 Maitriser le langage de programmation procédurale sous MySQL
 Optimiser une base de données MySQL
 Protéger la base de données MySQL

2. Exploiter les fonctionnalités des bases de données NoSQL MongoDB


 Découvrir les bases de données NoSQL
 Mettre en place une base de données MongoDB
 Modéliser les documents
 Manipuler les données avec mongoDB
 Effectuer des requêtes depuis des programmes Python
 Sécuriser une base de données MongoDB
Gestion des exceptions

Une exception est une erreur SQL ( division par zéro, clé primaire dupliquée, valeur
manquante, etc.) qui survient pendant l’exécution d’une requête, par défaut, une
telle erreur arrête immédiatement la procédure et annule l’instruction en cours.

Les exceptions peuvent être gérées dans un sous-programme (fonction ou procédure


cataloguée) ou un déclencheur, Elle correspond à une condition d’erreur et peut être
associée à un identificateur (exception nommée).

La gestion des exceptions en MySQL permet de capturer et traiter les erreurs qui
peuvent survenir lors de l'exécution de procédures stockées, fonctions ou déclencheurs
Syntaxe Générale

DECLARE action HANDLER FOR condition_value statement;

Types d'actions :
CONTINUE : Continue l'exécution après le traitement de l'erreur
EXIT : Quitte le bloc BEGIN/END courant

Les conditions possibles :


SQLEXCEPTION : capture toutes les erreurs SQL.
SQLWARNING : capture tous les avertissements.
NOT FOUND : capture les cas où une requête ne renvoie aucun résultat (utile avec SELECT ... INTO ou CURSOR).
NomException : un nom personnalisé (comme nomException) au lieu de mettre directement 1048, SQLEXCEPTION
Code SQLSTATE spécifique ( '23000' pour violation de contrainte ).
Numéro d’erreur MySQL ( 1062 pour "duplicate key").
[Link]
Statement MySQL :
une ou plusieurs instructions du langage de MySQL (bloc, appel possibles par CALL d’une fonction ou d’une procédure cataloguée).
 Exceptions avec CONTINUE
Quand la condition se déclenche, le handler s’exécute puis l’exécution continue avec
l’instruction suivante (Pour des situations prévues qu’on veut ignorer ou contourner.
Exemple :
 Exceptions avec EXIT
Quand la condition se déclenche, le handler s’exécute puis on quitte immédiatement
le bloc courant (BEGIN … END de la procédure, fonction ou trigger ..).
Exemple :
 Exceptions avec SQLEXCEPTION
un HANDLER FOR SQLEXCEPTION sert à gérer toutes les erreurs SQL qui peuvent se
produire (comme clé dupliquée, violation de contrainte, erreur de syntaxe).
Avec EXIT HANDLER, le handler s’exécute puis la procédure s’arrête immédiatement
(souvent utilisé pour faire un ROLLBACK et arrêter le traitement).
Avec CONTINUE HANDLER, le handler s’exécute mais l’exécution reprend après
l’instruction fautive (utile si on veut ignorer certaines erreurs et continuer).
Exemple :
 Exceptions avec SQLWARNING
un HANDLER FOR SQLWARNING est une classe de conditions qui correspond à tous les
avertissements SQL (warnings).
Exemple :
 Exceptions avec NOT FOUND
un HANDLER FOR NOT FOUND est une condition spéciale qui se déclenche quand un
SELECT ... INTO ne trouve aucune ligne.
Exemple :
 Exceptions avec SQLSTATE
SQLSTATE est un code standard international (5 caractères) qui identifie le type
d’erreur ou d’avertissement dans SQL.
Un HANDLER avec SQLSTATE permet de réagir à une erreur ou condition spécifique en
MySQL.
Exemple : '23000' correspond à une violation de contrainte (duplicate key, clé étrangère,
etc.)
 Exceptions avec Numéro d’erreur MySQL

Le numéro d’erreur (ou errno) est un code


numérique unique associé à chaque type
d’erreur SQL générée par le serveur.

Il permet d’identifier précisément la nature


de l’erreur dans vos programmes ou
procédures stockées.

Chaque errno est spécifique à MySQL et


souvent accompagné d’un SQLSTATE standard
(5 caractères) pour une identification
portable entre différents SGBD.
 Exception personnalisée

une exception personnalisée peut être créée avec DECLARE CONDITION et un HANDLER
Cela permet de définir un nom d’exception spécifique (ex. NomException) et de gérer un
cas particulier dans la procédure
Pour la déclaration, on utilise la syntaxe suivante :

DECLARE nomException CONDITION FOR


{ SQLSTATE [VALUE] ‘valeur_sqlstate’ | code_erreur_mysql }
Exemple :

DECLARE nom_vide CONDITION FOR SQLSTATE '45000';


 Exemple :
 SIGNAL et RESIGNAL

SIGNAL est une instruction qui permet de lever une nouvelle exception personnalisée
dans une procédure, fonction ou trigger, généralement pour indiquer qu’une règle
métier ou une condition particulière n’est pas respectée. À l’inverse, RESIGNAL est
utilisé dans un handler pour relancer une exception déjà capturée, avec la possibilité
de modifier le message ou le code de l’erreur avant de la renvoyer.

les deux servent à afficher des erreurs personnalisées, mais leur rôle précis diffère
SIGNAL : crée une nouvelle erreur à partir de rien.
Tu l’utilises quand tu veux détecter un problème métier et arrêter la procédure
avec un message personnalisé.
Exemple : nom vide, solde insuffisant, règle métier non respectée.
RESIGNAL : relance une erreur déjà existante (interceptée par un handler),
éventuellement en modifiant le message ou le code.
Tu l’utilises quand tu as déjà attrapé une erreur et que tu veux la propager ou la
transformer avant qu’elle ne quitte la procédure.

Vous aimerez peut-être aussi