Dartコアライブラリは、多くの一般的な例外(exception)とエラー(error)を定義しています。例外は、事前に計画してキャッチできる条件と見なされます。エラーは、予期しない、または計画していない状態です。
最も一般的なエラーのいくつかは次のとおりです。
受信オブジェクト(nullの可能性がある)がメソッドを実装していない場合にスローされます。
予期しない引数が渡されたメソッドがスローするエラー。
アプリケーション固有の例外をスローすることは、エラーが発生したことを示す一般的な方法です。Exceptionインターフェイスを実装することにより、カスタム例外を定義できます。
class FooException implements Exception { final String msg; const FooException([this.msg]); @override String toString() => msg ?? 'FooException'; }
例外についてはこちらもご覧ください。
参考