Maison  >  Article  >  interface Web  >  Une brève discussion sur la gestion des exceptions JavaScript skills_javascript skills

Une brève discussion sur la gestion des exceptions JavaScript skills_javascript skills

WBOY
WBOYoriginal
2016-05-16 15:52:261482parcourir

Des erreurs se produiront inévitablement pendant l'exécution du programme, et les résultats d'exécution après les erreurs sont souvent incorrects. Par conséquent, les programmes qui font des erreurs pendant l'exécution sont généralement terminés de force. Les erreurs d'exécution sont collectivement appelées exceptions. Afin de pouvoir gérer les erreurs lorsqu'elles se produisent, JavaScript fournit des instructions de gestion des exceptions. Contient try-catch, try-catch-finally et throw.

déclaration try-catch

try{
tryStatements
}
catch(exception){
catchStatements
}

Description du paramètre :
tryStatements : obligatoire. Séquence d'instructions dans laquelle une erreur peut se produire.
exception : obligatoire. Tout nom de variable utilisé pour référencer l'objet d'erreur lorsque l'erreur s'est produite.
catchStatements : facultatif. Instruction de gestion des erreurs, utilisée pour gérer les erreurs qui se produisent dans les tryStatements.
Lors du codage, l'instruction dans laquelle une erreur peut se produire est généralement écrite entre les accolades du bloc try, et l'erreur est gérée dans le bloc catch suivant. Les informations d'erreur sont contenues dans un objet d'erreur (objet Erreur), accessible via la référence d'exception. Déterminez comment gérer en fonction des informations d’erreur contenues dans l’objet d’erreur.

<script type="text/javascript">
try{
var n = error; //人为引发一个错误,error未定义就使用
}
catch(e){
alert((e.number&0xFFFF) + "号错误:" + e.description); //错误处理:仅输出错误信息
}
</script>

Cet extrait de code utilise une structure try-catch pour gérer les erreurs d'exécution du programme, et la ligne 4 génère artificiellement une erreur. Le bloc catch des lignes 6 à 9 détecte les erreurs et les gère.
Astuce : les erreurs JavaScript sont des erreurs d'exécution et les erreurs de syntaxe sont détectées lors de la phase de compilation ; les erreurs d'exécution sont détectées lors du processus en cours.

déclaration essayer-attraper-finalement

try{
tryStatements;
}
catch( exception ){
handleStatements;
}
finally{
fianllyStatements;
}

Description du paramètre :
tryStatements : obligatoires, instructions pouvant provoquer des exceptions.
handleStatements : facultatif, instruction de gestion des exceptions.
fianllyStatements : facultatif, instructions exécutées sans condition après l'exécution d'autres procédures.
Même si aucune erreur ne se produit, les instructions du bloc final seront exécutées à la fin et le code de nettoyage des ressources est généralement placé ici.
Une exception est artificiellement levée lors du parcours d'un tableau avec des noms Apple.

<script type="text/javascript">
try{
var fruit = new Array("鸭梨","苹果","葡萄","李子");

for( n=0;n<fruit.length;m++)
{
document.write(fruit[n] + "");
}
}
catch( e )
{
alert( (e.number&0xFFFF) + "号错误:" + e.description );
}
finally{
fruit = null;
alert("fruit="+fruit+"已经断开fruit数组的引用!");
}
</script>

La ligne 5 de cet extrait de code utilise une variable m non définie, déclenchant artificiellement une exception. Les lignes 11 à 13 interceptent les exceptions et les gèrent. Le bloc final des lignes 14 à 18 nettoie les ressources. Cette instruction est exécutée sans condition pour garantir que les ressources occupées par le tableau de fruits ne sont pas divulguées.

déclaration de lancer

Plusieurs instructions de gestion des exceptions peuvent être imbriquées. Lorsque plusieurs structures sont imbriquées, l'instruction try-catch dans la couche interne peut la lancer si elle n'a pas l'intention de gérer l'exception elle-même. L'instruction try-catch parent peut recevoir des exceptions levées par l'enfant, et l'opération de lancement utilise l'instruction throw.
lancer une expression ;
La valeur de l'expression est transmise sous forme d'objet de message d'erreur, qui sera capturé par l'instruction catch. L'instruction throw peut être utilisée partout où une exception est destinée à être levée.
Normalement, 0 ne peut pas être utilisé comme diviseur, vous pouvez donc définir une exception et la lancer si le diviseur est 0.

<script>
try{
var dividend = 100; //被除数
var parts = 0; //除数
if( parts == 0){ //如果除数为0则抛出异常
throw "Error:parts is zero"; //抛出异常
}
alert("每人" + dividend/parts + "份"); //输出提示信息
}
catch(e){ //此处将捕获try块中抛出的异常
alert(e); //用对话框输出错误对象的信息
}
</script>

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn