on-Klauseln und Exception-Typen
Bestimmte Fehler gezielt abfangen
on-Klauseln und Exception-Typen ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Dart Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.
Nicht alle Fehler sind gleich
Ein Dateifehler und ein Formatfehler sind unterschiedliche Probleme. Dart ermöglicht es, sie nach ihrem Typ abzufangen, sodass jeder die passende Reaktion erhält. 🎯
Das Schlüsselwort on
Verwenden Sie on, um nur einen Exception-Typ abzufangen. Der Block wird ausschließlich ausgeführt, wenn genau diese Fehlerart ausgelöst wird.
try {
parse();
} on FormatException {
print('Bad format');
}Das Objekt ebenfalls erhalten
Kombinieren Sie on mit catch, um nach Typ zu filtern und gleichzeitig das Fehlerobjekt mit seinen Meldungsdetails zu erhalten.
on FormatException catch (e) {
print(e.message);
}Die Reihenfolge ist wichtig
Dart prüft on-Klauseln von oben nach unten und verwendet den ersten Treffer. Setzen Sie spezifische Typen vor allgemeine, sonst werden die spezifischen nie ausgeführt.
Mehrere on-Klauseln
Sie können mehrere on-Klauseln für einen try-Block angeben. Jede behandelt einen anderen Exception-Typ mit einer eigenen, passenden Logik.
try {
work();
} on FormatException {
} on RangeError {
}Ein allgemeines catch am Ende
Ein einfaches catch ohne Typ fängt alles Übrige ab. Setzen Sie es als Sicherheitsnetz nach den typisierten Klauseln an die letzte Stelle.
} on FormatException {
} catch (e) {
print('Other: $e');
}Exception und Error
Dart unterscheidet bei Fehlern zwischen Exception für behebbare Probleme und Error für Programmierfehler, die Sie beheben und nicht abfangen sollten.
Häufige integrierte Typen
Sie werden auf FormatException, RangeError, StateError und ArgumentError treffen. Wenn Sie diese kennen, können Sie Fehler gezielt abfangen.
Einen Supertyp abfangen
Eine on Exception-Klausel erfasst jeden Subtyp von Exception. Verwenden Sie einen allgemeinen Typ, wenn mehrere verwandte Fehler denselben Handler nutzen sollen.
try {
go();
} on Exception catch (e) {
log(e);
}Warum Typfilterung hilft
Typisierte Handler halten den Code übersichtlich: Sie reagieren auf eine fehlende Datei anders als auf eine ungültige Eingabe, statt alles einem großen catch zu überlassen.
Alles zusammenführen
Hier sehen Sie den Ablauf von spezifisch zu allgemein: zuerst eine typisierte on-Klausel, anschließend ein allgemeines catch, das alles Übrige sicher behandelt.
try {
run();
} on FormatException catch (e) {
print(e);
} catch (e) {
print('Unknown');
}Schnelltest
Wie fangen Sie nur einen bestimmten Exception-Typ ab?
Zusammenfassung
Sie können Fehler jetzt mit on gezielt behandeln, Klauseln von spezifisch zu allgemein anordnen und ein allgemeines catch als Sicherheitsnetz hinzufügen. Präzise Fehlerbehandlung, übersichtlicher Code. ✅
Häufig gestellte Fragen
Ist die Lektion „on-Klauseln und Exception-Typen“ kostenlos?
Ja — der vollständige Text von „on-Klauseln und Exception-Typen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Dart Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „on-Klauseln und Exception-Typen“?
Bestimmte Fehler gezielt abfangen Du übst Dart Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Dart Academy zu starten?
Keine Vorkenntnisse erforderlich. Dart Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „on-Klauseln und Exception-Typen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Dart Academy-Lektion Code schreiben und ausführen?
Ja. Jede Dart Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- throw, try und catch
- on-Klauseln und Exception-Typen
- finally und garantierte Bereinigung
- Benutzerdefinierte Exceptions und rethrow