Dart日常:Exception与 Error 笔记

Exception

名称 说明
DeferredLoadException 延迟加载异常
FormatException 格式异常
InterDirisionByZeroExecition 整数除零异常
IOException IO 异常
IsolateSpawnExecption 隔离产生异常
TimeoutExecption 超时异常

Error

名称 说明
AbstractClassInstantiationError 抽象类实例化错误
ArgumentError 参数错误
AssetrionError 断言错误
AsyncError 异步错误
CaseError Cast 错误
ConcurrentModificationError 并发修改错误
CycliclnitializationError 周期初始化错误
FanThroughError Fall Through 错误
JsonUnsupportedError json 不支持错误
NoSuchMethodError 方法不存在错误
NullThrownError Null 错误
OutOfMemoryError 内存溢出错误
RemoteError 远程错误
StackOverflowError 堆栈溢出错误
StateError 状态错误
UnimplementedError 未实现的错误
UnsupportedError 不支持的错误

实例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
try {
    // 抛出异常
    throw "错误消息"; // FormatException("错误消息")
} on [ 错误类型 ] catch(e, s) {
    // e: 错误信息
    // s: 堆栈信息
} catch(e, s) {
    // 重新抛出异常
    rethrow;
} finally {
    // 一定会被执行的代码
    // 无论是否捕获到异常
}

注意事项

Dart 异常是非检测异常,方法不会声明其可能抛出的异常类型。也就是说,Dart 程序中可以抛出任何非空的异常类型。