类型

Exception 类

名称说明
DeferredLoadException延迟加载错误
FormatException格式错误
IntegerDivisionByZeroException整数除零错误
IOExceptionIO 错误
IsolateSpawnException隔离产生错误
TimeoutException超时错误

Error 类

名称说明
AbstractClassInstantiationError抽象类实例化错误
ArgumentError参数错误
AssertionError断言错误
AsyncError异步错误
CastErrorCast 错误
ConcurrentModificationError并发修改错误
CyclicInitializationError周期初始错误
FallThroughErrorFall Through 错误
JsonUnsupportedObjectErrorjson 不支持错误
NoSuchMethodError没有这个方法错误
NullThrownErrorNull 错误错误
OutOfMemoryError内存溢出错误
RemoteError远程错误
StackOverflowError堆栈溢出错误
StateError状态错误
UnimplementedError未实现的错误
UnsupportedError不支持错误

抛出错误

// Exception 对象
 throw new FormatException('这是一个格式错误提示');

// Error 对象
 throw new OutOfMemoryError();

// 任意对象
 throw '这是一个异常';

捕获错误

 try {
   throw new OutOfMemoryError();
 } on OutOfMemoryError {//捕获指定异常
   print('没有内存了');
 } catch (e) {//捕获其他异常
   print(e);
 }

try {
   throw new OutOfMemoryError();
 } on OutOfMemoryError {//捕获指定异常
   print('没有内存了');
 } catch (e,s) {//异常对象,stacktrace对象
   print(e);
 }

重新抛出错误

 try {
   throw new OutOfMemoryError();
 } on OutOfMemoryError {
   print('没有内存了');
   rethrow;//重新抛出异常
 } catch (e) {//接收到重新抛出的异常
   print(e);
 }

Finally 执行

 try {
   throw new OutOfMemoryError();
 } on OutOfMemoryError {
   print('没有内存了');
   rethrow;
 } catch (e) {
   print(e);
 } finally {
   print('end');//整个流程最后执行
 }

 

Logo

更多推荐