ColdFusion
|
CFML : Exceptions
- Gérer les exceptions et les erreurs (try / catch)
-
Gérer les exceptions et les erreurs (try / catch)
- En utilisant la syntaxe CFML :
- En utilisant le tag CFScript :
Notes :
-
Le tag
cftry
doit contenir au moins la clause cfcatch
ou la clause cffinally
.
Sinon ColdFusion va générer l'erreur suivante : « A CFTRY must contain at least one CFCATCH clause or CFFINALLY clause. ».
-
Le tag
cftry
peut contenir plusieurs clauses cfcatch
, mais il ne peut pas contenir plus qu'une clause cffinally
.
ColdFusion va générer une erreur s'il contient plus qu'une clause cffinally
.
-
Les clauses
cfcatch
permettent d'attraper les exceptions générées par le code du tag cftry
.
En fonction du type de l'exception générée, ColdFusion va exécuter le code d'une seule clause.
-
La clause
cffinally
permet de faire des actions spécifiques suite à l'exécution du bloc du code du tag cftry
et, si c'est le cas, l'exécution du bloc du code de la clause cfcatch
.
-
L'attribut
name
de l'élément cfcatch
permet de préciser un nom explicite à la structure de l'erreur générée par ColdFusion.
Par défaut, si cet attribut n'est pas spécifié, alors la variable aura le nom cfcatch
!
La structure définie plusieurs variables qui donnent des informations sur l'exception générée par le code (le nom de la structure est : errVar
) :
-
errVar.type
Type de l'exception spécifié dans la clause cfcatch
.
-
errVar.message
Message de l'exception, si spécifié sinon une chaîne vide.
-
errVar.detail
Message détaillé de l'exception, si spécifié sinon une chaîne vide.
-
D'autres variables peuvent être ajoutées à la structure en fonction du type de l'exception.
-
ColdFusion définies plusieurs types d'exceptions qui peuvent définies par les clauses
cfcatch
en utilisant l'attribut type
.
L'attribut type
de l'élément cfcatch
permet de préciser le type de l'exception qui sera traitée par le code cfcatch
.
-
Il est possible d'utiliser le tag
cfthrow
pour lancer des exceptions spécifiques.