
try/catch verwenden
323
generierten Ausnahme und einer vom JavaScript-Laufzeitmodul generierten Ausnahme, die beispielsweise
bei einem Syntaxfehler auftritt. Ein try/catch-Block fängt keine Syntaxfehler ab, bietet also keinen Schutz
gegen sie.
In einer catch-Klausel ist es üblich, mehrere Aufgaben zu realisieren, wie zum Beispiel eine andere Funktion
aufzurufen, um einen Fehler zu protokollieren, oder eine Bedingung mittels eines allgemeinen – generi-
schen – Konzepts zu behandeln. Die catch-Klausel ist vor allem hilfreich in problembehafteten Codeberei-
chen, wo der Code naturgemäß zu Fehlern führt (etwa in Code, der Benutzereingaben verarbeitet).
In der folgenden Übung erstellen Sie ein Webformular ähnlich dem Formular, das Sie in Kapitel 15 erstellt
haben. Dieses Mal stellen Sie aber nicht nur visuelles Feedback im Textfeld des Formulars bereit, sondern
auch etwas Feedback in Textform.
try/catch
mit einem Webformular verwenden
1. Bearbeiten Sie die Datei number.htm im Ordner der Begleitdateien von Kapitel 16 mit Visual Studio,
Eclipse oder einem anderen Editor.
2. Ersetzen Sie in der Webseite die TODO-Anweisung durch den folgenden fettgedruckten Code (den Sie
auch in der Begleitdatei number.txt finden):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/
strict.dtd">
<html>
<head>
<title>Try/Catch</title>
<script type="text/javascript" src="ehandler.js"></script>
<script type="text/javascript" src="number.js"></script>
</head>
<body>
<form name="formexample" id="formexample" action="#">
<div id="citydiv">Eine Zahl zwischen 1 und 100 eingeben: <input id="num"
name="num"> <span id="feedback"> </span></div>
<div><input id="submit" type="submit"></div>
</form>
<script type="text/javascript">
var formEl = document.getElementsByTagName("form")[0];
EHandler.add(formEl,"submit", function(eventObj) { checkValid(eventObj); } );
</script>
</body>
</html>
3. Erstellen Sie eine JavaScript-Quelldatei namens number.js. (Diese Datei ist auch in den Begleitdateien
enthalten.)
4. Konvertieren Sie den Fehlerbehandlungscode aus Kapitel 15 in die try/catch-Version entsprechend dem
Inhalt dieses Formulars. Eigentlich ist für den Code von Kapitel 15 keine try/catch-Anweisung erforder-
lich, doch lässt sich mit der Umarbeitung in die try/catch-Version gut veranschaulichen, wie man diese
Anweisung einsetzt. Geben Sie in die Datei number.js den folgenden Code ein. (Zwar ließe sich dieser
Code ohne Weiteres zu einer einzelnen if-Anweisung komprimieren, doch habe ich hier mehrere if-An-
weisungen vorgesehen, weil Sie den Code später in dieser Übung erweitern sollen.)