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