Maison > interface Web > js tutoriel > Essayez d'attraper l'utilisation des compétences javascript_javascript

Essayez d'attraper l'utilisation des compétences javascript_javascript

WBOY
Libérer: 2016-05-16 15:44:45
original
1359 Les gens l'ont consulté

Regardons d'abord un exemple

<input id='b1' type='button' value='按钮'/>
<script>
window.onload=function(){
var oBtn=document.getElementById("b1");
function mto(){
alert("123");
};

try //非IE
{
oBtn.attachEvent("onclick",mto,false);

}
catch(e)//IE
{
oBtn.addEventListener("click",mto,false);
}
};
</script>

Copier après la connexion

Remarque :

La différence entre addEventListener et attachEvent est le premier paramètre, le premier est click et le second est onclick

addEventListener s'exécute dans la portée de son élément

attachEvent s'exécute dans la portée globale (this=window)

Essayez...Déclaration Catch

try...catch peut tester les erreurs dans votre code. La section try contient le code qui doit être exécuté, tandis que la section catch contient le code qui s'exécute lorsqu'une erreur se produit.
Syntaxe :

try
{
//在此运行代码
}
catch(err)
{
//在此处理错误
}

Copier après la connexion

Remarque : utilisez des lettres minuscules pour try...catch. Les majuscules iront mal.

essayez... attrapez... enfin déclaration

Implémentez la gestion des erreurs pour JScript . 

  try  {  
     tryStatements}  
  catch(exception){  
     catchStatements}  
  finally  {  
     finallyStatements}  
Copier après la connexion

============== ===========       

Paramètres

tryStatement

Option obligatoire. Une déclaration incorrecte peut se produire.     
exception
Option obligatoire. n’importe quel nom de variable. La valeur d'initialisation de l'exception est la valeur de l'erreur générée.     
catchStatement
Facultatif. Instruction qui gère les erreurs qui se produisent dans le tryStatement associé.     
enfinDéclarations
Facultatif. Instruction exécutée sans condition après que tous les autres processus se soient produits.       

Description

L'instruction try...catch...finally fournit un moyen de gérer tout ou partie des erreurs qui peuvent survenir dans un bloc de code donné tout en maintenant le code en cours d'exécution. Si une erreur se produit et n'est pas gérée par le programmeur, JScript fournit uniquement son message d'erreur normal à l'utilisateur, comme s'il n'y avait pas de gestion d'erreur. 


Le paramètre

tryStatements contient du code pour les erreurs possibles, tandis que catchStatement contient du code pour gérer les erreurs qui se produisent. Si une erreur se produit dans tryStatements , le contrôle du programme est transmis à catchStatements pour traitement. La valeur d'initialisation de l'exception est la valeur de l'erreur survenue dans tryStatements . Si aucune erreur ne se produit, les catchStatements ne sont pas exécutés. 


Si l'erreur ne peut pas être gérée dans les catchStatements associés aux tryStatements où l'erreur s'est produite, utilisez une instruction throw pour propager ou renvoyer l'erreur vers un gestionnaire d'erreurs de niveau supérieur. 


Une fois que les instructions dans tryStatements sont exécutées et que toute la gestion des erreurs dans catchStatements a eu lieu, les instructions dans enfinStatements peuvent être exécutées sans condition. 


Veuillez noter que même si une instruction est renvoyée dans un bloc try ou catch, ou si une erreur est renvoyée dans un bloc catch, l'encodage finalStatements sera toujours exécuté. Garantira généralement que finalementStatments s'exécute à moins qu'il n'y ait des erreurs non gérées. (Par exemple, une erreur d'exécution se produit dans un bloc catch.).

Exemple


L'exemple suivant illustre comment la gestion des cas spéciaux JScript est effectuée. 


  try  {  
    print("Outer  try  running..");  
    try  {  
      print("Nested  try  running...");  
      throw  "an  error";  
    }  
    catch(e)  {  
      print("Nested  catch  caught  "  +  e);  
      throw  e  +  "  re-thrown";  
    }  
    finally  {  
      print("Nested  finally  is  running...");  
    }     
  }  
  catch(e)  {  
    print("Outer  catch  caught  "  +  e);  
  }  
  finally  {  
    print("Outer  finally  running");  
  }  
  //  Windows  Script  Host  作出该修改从而得出  WScript.Echo(s)  
  function  print(s){  
     document.write(s);  
  }  
Copier après la connexion
produira les résultats suivants :


Essayez de courir à l'extérieur..

Essayez de courir imbriqué...
Les captures imbriquées capturées ont détecté une erreur
Nested est enfin en cours d'exécution...
La capture externe capturée a détecté une erreur renvoyée
L'extérieur fonctionne enfin

Ce qui suit est un exemple de gestion des exceptions Javascript.

var array = null;
try {
  document.write(array[0]);
} catch(err) {
  document.writeln("Error name: " + err.name + "");
  document.writeln("Error message: " + err.message);
}
finally{
  alert("object is null");
}

Copier après la connexion

Processus d'exécution du programme

1. Étant donné que le tableau array n'est pas créé lorsque array[0] est utilisé, array est un objet vide. L'appel de array[0] dans le programme générera une exception null
. 2. L'instruction catch(err) capture cette exception et imprime le type d'erreur via err.name, et err.message imprime les détails de l'erreur
. 3. enfin est similaire à Java, il sera exécuté indépendamment du fait qu'il y ait une exception ou non.

Résumez maintenant les informations correspondant aux six valeurs​​de Error.name :

1. EvalError : L'utilisation de eval() est incompatible avec la définition
2. RangeError : valeur hors limites
3. ReferenceError : valeur de référence illégale ou non reconnue
4. SyntaxError : Une erreur d'analyse de syntaxe s'est produite
5. TypeError : type d'opérande incorrect
6. URIError : utilisation inappropriée de la fonction de traitement de l'URI

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal