捕獲了一個異常後,就中止了捕獲異常過程。捕獲一個異常,你就有機會去處理它: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對象