異常
拋出-捕獲異常
try {
throw FormatException('format exp.');
throw IOException;
throw NullThrownError;
} on FormatException catch (exp) { // on ... catch(e)
print(exp);
} on IOException { // on exception
print('IO Exp.');
} on Error catch (e) { // on Error catch(e)
print('on Error: ${e.stackTrace}');
} catch (e, s) { // 前面沒有捕獲到的異常在這裏統一處理, e:異常, s:StackTrace
print('catch: $e \n$s');
} finally { // 不論是否產生異常都會調用
print('the end.');
}
Exception類型
名稱 |
說明 |
DeferredLoadException |
延遲加載異常 |
FormatException |
格式異常 |
IntegerDivisionByZeroException |
整數除零異常 |
IOException |
IO異常 |
IsolateSpawnException |
隔離產生異常 |
TimeoutException |
超時異常 |
Error類型
名稱 |
說明 |
AbstractClassInstantiationError |
抽象類實例化錯誤 |
ArgumentError |
參數錯誤 |
AssertionError |
斷言錯誤 |
AsyncError |
異步錯誤 |
CastError |
Cast 錯誤 |
ConcurrentModificationError |
併發修改錯誤 |
CyclicInitializationError |
週期初始錯誤 |
FallThroughError |
Fall Through 錯誤 |
JsonUnsupportedObjectError |
json 不支持錯誤 |
NoSuchMethodError |
沒有這個方法錯誤 |
NullThrownError |
Null 錯誤 |
OutOfMemoryError |
內存溢出錯誤 |
RemoteError |
遠程錯誤 |
StackOverflowError |
堆棧溢出錯誤 |
StateError |
狀態錯誤 |
UnimplementedError |
未實現的錯誤 |
UnsupportedError |
不支持錯誤 |