抛出异常
throw FormatException('string error');
直接将一个字符串作为异常抛出
throw 'Out of llamas!';
虽然Dart直接抛出任意类型的非空对象作为异常,但在Dart高效编程中一般建议继承Error
或者 Exception
类作为子类实现错误或者异常的抛出。
捕获异常
try {
makeError();
} on OutOfLlamasException {
// 一个特殊的异常
specialError();
} on Exception catch (e) {
// 其他任何异常
print('Unknown exception: $e');
} catch (e) {
// 没有指定的类型,处理所有异常
print('Something really unknown: $e');
}
捕获语句中可以同时使用on
和 catch
,也可以单独分开使用。 使用 on 来指定异常类型, 使用 catch 来 捕获异常对象。
rethrow
使用这个关键字,可以再次把这个异常跑出
finally
不管是否抛出异常, finally
中的代码都会被执行。 如果 catch
没有匹配到异常, 异常会在finally
执行完成后,再次被抛出。
try {
makeError();
} finally {
// Always clean up, even if an exception is thrown.
finallyDo();
}
Dart 就先这样了 flutter 用的时候在慢慢来
网友评论