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