Von this post, zitiert Bob Nystrom geprüft:
Fehler und ihre Unterklassen sind für programmatische Fehler. Wenn einer dieser auftritt, ist Ihr Code schlecht und Sie sollten Ihren Code beheben.
Nicht-Fehler-Ausnahmeklassen sind für Laufzeitfehler. Manchmal können Sie verhindern, dass sie geworfen werden, aber oft nicht.
Ausgenommen in ein paar besonderen Umständen sollte Idiomatic Dart Fehler werfen, aber nie fangen sie. Sie existiert speziell, um nicht gefangen zu werden, so dass sie die App herunterfahren und den Programmierer auf den Standort des Fehlers aufmerksam machen.
Mit anderen Worten, Sie sollten Ausnahmen erwarten (und darauf achten) (es ist beabsichtigt, dass Sie sie behandeln sollten). Wenn Sie einen Fehler erhalten, müssen Sie überprüfen, wie Sie die API verwenden, die den Fehler verursacht - Sie verwenden ihn wahrscheinlich falsch.
Wenn Sie eine API schreiben, sollten Sie dasselbe Muster verwenden. Bei Fehlern handelt es sich um Nachrichten an nachgeschaltete Entwickler, die sich mit der Verwendung Ihrer API befassen.
Thx Chris für die Klarstellung! Ich denke, das fehlt in der Dokumentation. Es gibt bereits ein Problem dafür: https://code.google.com/p/dart/issues/detail?id=9377 –