devnode.de
developer tutorials
 
Javascript
PHP4 und PHP5
XML
 
devlex.de
Developer Lexikon
devnote.de
Developer News
 
 
Vorratsdaten-
speicherung stoppen!
Petition mitzeichnen!
 
Top Tutorials
 
Get Firefox!
 
Suche:

Javascript Exception Handling


Einführung in die Javascript Exception Fehlerbehandlung mit try, catch, finally und throw
 

Ähnlich wie PHP und Java kann auch der kleine Bruder von Java mit Exceptions umgehen. Für das Javascript Exception Handling sind die Schlüsselwörter "try", "catch", "finally" und "throw" zuständig. Exceptions treten nur bei logischen Fehlern in Kraft. Syntaxfehler können mit Exceptions also nicht erfasst werden. Verfügbar sind Exceptions seit Javascript 1.4.

"Wozu Exception Handling? Meine Scripte sind fehlerfrei!"
Es gibt viele Fehlerursachen warum eine Javascript Funktion Fehler verursachen könnte. Sei es eine nicht komplett geladene Seite, Browserunterschiede, Browserbugs oder von extern nicht korrekt geladener Content. Fehlermeldungen welche sonst an den Benutzer gesendet würden und bei diesem unschön aufpoppen, können auf diese Art und Weise abgefangen werden. Doch nicht nur Das. Ist ein Fehler aufgetreten, kann ebenfalls zur Laufzeit eine Behebung des Fehlers probiert werden um die Lage wieder unter Kontrolle zu bringen.

Eine der häufigsten Ursachen für Javascript Laufzeitfehler ist der Versuch auf nicht vorhandene Objekte zuzugreifen, wie dies im folgenden Bespiel zu sehen ist:


<script type="text/javascript">
function setUhrzeit(zeit) {
unbekanntesObjekt.uhrzeit = zeit;
}
setUhrzeit('11:30');
</script>


Dieser Zugriff würde einen Laufzeitfehler verursachen und an die Javascript Konsole des Browsers gesendet werden.


<script type="text/javascript">
function setUhrzeit(zeit) {
try {
unbekanntesObjekt.uhrzeit = zeit;
}
catch (e) {
alert("Uhrzeit nicht ersetzt. Fehler: "+e);
}
}
setUhrzeit('11:30');
</script>


In obigem catch Codeblock wird der Fehler abgefangen und dem Benutzer eine verständliche Fehlermeldung gesendet. Soll unabhängig vom "try" Ergebnis etwas ausgeführt werden kann dieses mit dem Javascript Schlüsselwort "finally" erfolgen:


<script type="text/javascript">
function setUhrzeit(zeit) {
try {
unbekanntesObjekt.uhrzeit = zeit;
}
catch (e) {
alert("Uhrzeit nicht ersetzt. Fehler: "+e);
}
finally {
alert("Fenster zum Spass!");
}
}
setUhrzeit('11:30');
</script>


Unabhängig von den Laufzeitfehlern welche "ungewollt" in Javascript auftreten, können Fehler mittels "throw" auch gewollt erzeugt werden, wie es im folgenden Beispiel zu sehen ist:


<script type="text/javascript">
function mitzaehlen() {
counter++;
try {
if (counter > 10) {
throw "Maximum erreicht!";
}
else {
throw "Ihr Zaehlerstand ist jetzt: "+counter;
}
}
catch (e) {
alert(e);
}
}
var counter = 0;
mitzaehlen();
</script>



 
zurück
 

Internet Verweise zum Thema



  Startseite | Impressum | Newsletter
 
Tips: [PHlyMail] [fever XL]
[Hofsaess-Online]