catch 捕获异常
捕获了一个异常后,就停止了捕获异常过程。捕获一个异常,你就有机会去处理它:
try {
breedMoreLlamas();
} on OutOfLlamasException {
buyMoreLlamas();
}
为了处理含有多种类型异常的代码,你可以选择多个catch子句。第一个匹配抛出对象类型的catch子句将会处理这个异常。如果catch子句未说明所捕获的异常类型,这个子句就可处理任何被抛出的对象。
try {
breedMoreLlamas();
} on OutOfLlamasException {
// 一个具体异常
buyMoreLlamas();
} on Exception catch (e) {
// 任意一个异常
print('Unknown exception: $e');
} catch (e) {
// 非具体类型
print('Something really unknown: $e');
}
像上面展示的代码一样,你可以用 on 或者 catch ,或者两者都用。当你需要指定异常类型的时候用on,当你的异常处理者需要异常对象时用catch。
http://wiki.jikexueyuan.com/project/dart-language-tour/exceptions.html