Javascript – Behandeln von Laufzeitfehlern mit try/catch/finally

Unter Fehlerbehandlung versteht man die Erkennung von Fehlern in der Programmierung. Wenn wir Javascript-Code ausführen, können verschiedene Arten von Fehlern auftreten. Es können Syntaxfehler oder Laufzeitfehler sein.

Syntaxfehler treten auf, wenn Bezeichner und Schlüsselwörter falsch geschrieben werden, doppelte Anführungszeichen in Zeichenfolgen fehlen, nicht deklarierte Variablen verwendet werden, fehlerhafte Referenzen auf Objekte verwendet werden, Sonderzeichen wie nicht übereinstimmende Klammern oder Klammern falsch verwendet werden, Semikolons fehlen oder Fehler aufgrund falscher Benutzereingaben auftreten oder Server. Es kann auch auftreten, wenn der Code nicht kompiliert werden kann.

Laufzeitfehler treten auf, wenn während der Ausführung des Programms nach der Kompilierung Ausnahmen auftraten. Fehler können aufgrund ungültiger Eingabedaten, unzureichendem Speicher zum Ausführen der Anwendung oder eines Speicherkonflikts mit anderen Programmen, der Division einer Ganzzahl durch Null, der Konvertierung einer ungültigen Zeichenfolge in eine Zahl, des Zugriffs auf Zeichen außerhalb der zulässigen Grenzen einer Zeichenfolge usw. auftreten.

Verwenden der Try/Catch/Finally-Anweisung

Wir können die Fehler in JavaScript behandeln, indem wir Try/Catch/Finally verwenden. Sie werden in JavaScript Ausnahmebehandlungsanweisungen genannt.

  • versuchen Die Anweisung verursacht eine Ausnahmebedingung und löst eine Ausnahme aus.
  • fangen Die Anweisung fängt die vom try-Block ausgelöste Ausnahme ab und behandelt die Ausnahme.
  • Endlich Die Anweisung führt immer einen Block des Codes aus.

Syntax des try/catch/finally-Blocks

<script type="type/javascript">
try{
     //execute the statements
}
Catch(error){
    //execute the statements if exception occurs
}
finally{
    //block of the code that always execute
}
</script>

Beispiel für die JavaScript-Fehlerbehandlung

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
	function myMessage() {

		var x = 50, y = 100;
		var z = x / y;
		try {
			if (z < 0.7) {
				alert("Number is small");
			} else {
				alert("Number is big")
			}
		} catch (error) {
			alert("Exception:" + e.description);
		} finally {
			alert("Finally block always executes!!!");
		}
	}
</script>
</head>
<body>
	<p>Click to see result</p>
	<form>
		<input type="button" value="Click" onclick="myMessage();" />
	</form>
</body>
</html>
  • Das Tag