throw, try und catch
Fehler erkennen und darauf reagieren
throw, try und catch ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Wenn etwas schiefgeht
Programme stoßen auf Probleme: ungültige Eingaben, fehlende Dateien oder fehlerhafte Berechnungen. Dart signalisiert dies mit einer Exception, statt sich stillschweigend falsch zu verhalten. 🚨
Eine Exception auslösen
Mit throw können Sie selbst ein Problem auslösen. Der normale Ablauf wird genau an dieser Stelle angehalten und die Kontrolle an einen Handler übergeben.
throw Exception('Something failed');Sie können alles auslösen
Dart ermöglicht es, mit throw fast jedes Objekt auszulösen, sogar einen String. In der Praxis lösen Sie echte Exception- oder Error-Objekte aus, damit Handler übersichtlich bleiben.
throw FormatException('Bad number');Riskanten Code absichern
Schließen Sie Code, der fehlschlagen könnte, in einen try-Block ein. Dart führt ihn normal aus, ist aber bereit zu reagieren, falls etwas ausgelöst wird.
try {
risky();
}Das Problem abfangen
Ein catch-Block wird nur ausgeführt, wenn der try-Block eine Exception auslöst. Er erhält das ausgelöste Objekt, damit Sie es untersuchen und darauf reagieren können.
try {
risky();
} catch (e) {
print('Caught: $e');
}Der Ablauf springt weiter
Wenn ein throw ausgeführt wird, wird der restliche try-Block sofort übersprungen. Dart springt direkt zum passenden catch-Block.
Das Fehlerobjekt auslesen
Die Variable in catch (e) enthält alles, was ausgelöst wurde. Wenn Sie sie ausgeben, wird normalerweise eine hilfreiche Meldung angezeigt, die den Fehler beschreibt.
catch (e) {
print(e);
}Den Stacktrace abrufen
Fügen Sie catch eine zweite Variable hinzu, um den Stacktrace zu erhalten. Er zeigt den Aufrufpfad, der zum Fehler geführt hat, und erleichtert so das Debugging.
catch (e, stack) {
print(stack);
}Wiederherstellen statt abstürzen
Der eigentliche Zweck des Abfangens ist die Wiederherstellung. Statt abzustürzen, können Sie den Fehler protokollieren, es erneut versuchen oder den Benutzerinnen und Benutzern eine freundliche Alternative anzeigen.
Nicht abgefangen bedeutet Absturz
Wenn keine Stelle eine ausgelöste Exception abfängt, wird sie nach oben weitergereicht und das Programm stürzt mit einer im Konsolenfenster ausgegebenen Fehlermeldung ab.
Ein vollständiges Beispiel
Hier sehen Sie das vollständige Muster: ein throw innerhalb von try, das abgefangen und angemessen behandelt wird, sodass die Ausführung anschließend fortgesetzt wird.
try {
throw Exception('Oops');
} catch (e) {
print('Handled: $e');
}Schnelltest
Welcher Block reagiert tatsächlich auf eine ausgelöste Exception?
Zusammenfassung
Sie signalisieren Probleme jetzt mit throw, sichern riskanten Code in try ab und stellen die Ausführung in catch wieder her. Dieses Trio hält Ihr Programm am Laufen. 🎉
Häufig gestellte Fragen
Ist die Lektion „throw, try und catch“ kostenlos?
Ja — der vollständige Text von „throw, try und catch“ 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 „throw, try und catch“?
Fehler erkennen und darauf reagieren 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 1 von 4.
Wie lange dauert die Lektion „throw, try und catch“?
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