Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| de:modul:m320_2024:learningunits:lu05:aufgaben:ausloesen [2026/08/30 14:05] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m320_2024:learningunits:lu05:aufgaben:ausloesen [2026/08/30 14:05] (aktuell) – ↷ Seite von modul:m320_2024:learningunits:lu05:aufgaben:ausloesen nach de:modul:m320_2024:learningunits:lu05:aufgaben:ausloesen verschoben msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU05.A03: Exceptions auslösen und verarbeiten ====== | ||
| + | |||
| + | <WRAP center round todo 60%> | ||
| + | * Sie können eigene Exceptions erzeugen und werfen. | ||
| + | * Sie können mit '' | ||
| + | </ | ||
| + | |||
| + | ===== Ausgangslage ===== | ||
| + | In der Applikation können eine Anzahl Noten erfasst und ausgelesen werden. | ||
| + | Bisher wurde aber noch keine Fehlerbehandlung realisiert. | ||
| + | Zum Beispiel stürzt das Programm ab, wenn man eine undefinierte Noten lesen will (falscher Index). | ||
| + | Ungültige Noten werden entgegengenommen und wenn zu viele Noten erfasst werden, passiert auch nichts. | ||
| + | |||
| + | Für eine gezielte Fehlerbehandlung definieren wir daher 3 eigene Exceptions: | ||
| + | * ListIndexException: | ||
| + | * ListRangeException: | ||
| + | * ValueRangeException: | ||
| + | |||
| + | ===== Vorbereitung ===== | ||
| + | - Akzeptieren Sie das Assignment in GitHub Classroom. | ||
| + | - Klonen Sie das Repository in Ihre Entwicklungsumgebung. | ||
| + | - Führen Sie das Programm aus. Was fällt Ihnen bezüglich dem Programmablauf auf? | ||
| + | |||
| + | ===== Auftrag 1: Ungültiger Index bei '' | ||
| + | |||
| + | <WRAP center round todo 60%> | ||
| + | Prüfen Sie in der Methode '' | ||
| + | Beachten Sie, dass die maximale Grösse - durch '' | ||
| + | </ | ||
| + | |||
| + | - Erstellen Sie die Klasse '' | ||
| + | - Passen Sie die Methode '' | ||
| + | - Testen Sie die Methode '' | ||
| + | |||
| + | |||
| + | ===== Auftrag 2: Zufügen von Noten in '' | ||
| + | |||
| + | <WRAP center round todo 60%> | ||
| + | Prüfen Sie in der Methode '' | ||
| + | Die Grösse der Liste wird - wie oben erwähnt - durch '' | ||
| + | </ | ||
| + | |||
| + | - Erstellen Sie die Klassen '' | ||
| + | * Die Fehlermeldung für '' | ||
| + | * Die Fehlermeldung für '' | ||
| + | - Passen Sie die Methode '' | ||
| + | - Testen Sie die Methode '' | ||
| + | |||
| + | ===== Auftrag 3: Exceptions in '' | ||
| + | In der Methode '' | ||
| + | Überall wo die Methode '' | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Innerhalb eines '' | ||
| + | Damit in unserem Fall das Programm weiter läuft, schützen Sie bitte nur die kritischen Bereiche explizit mit '' | ||
| + | </ | ||
| + | Falls eine Exception auftritt, wird die Standardmeldung der Exception ausgegeben. | ||
| + | |||
| + | - Prüfen Sie in einem ersten Teil des Codes die Anzahl der zugefügten Noten. | ||
| + | - Prüfen Sie dann einen ungültigen Notenwert. | ||
| + | - Prüfen Sie dann den Zugriff auf eine nicht vorhandene Note. | ||
| + | - Führen Sie das Programm aus. Es darf zu keinem Programmabbruch mehr kommen. | ||
| + | |||
| + | ===== Dauer ===== | ||
| + | 45 Minuten | ||
| + | |||
| + | ===== Abgabe ===== | ||
| + | Mittels Push auf GitHub. | ||
| + | |||
| + | ---- | ||
| + | < | ||
| + | < | ||
| + | GitHub Repository https:// | ||
| + | |||
| + | //Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden// | ||
| + | |||
| + | </ | ||
| + | |||
| + | {{tag> | ||
| + | [[https:// | ||