Dart语言教程:异常try/on/catch块

异常(或异常事件)是在执行程序期间出现的问题。发生异常时,程序的正常流程中断,程序/应用程序异常终止。

Dart内置异常如下 -

编号 异常 描述
1 DeferredLoadException 延迟库无法加载时抛出。
2 FormatException 当字符串或某些其他数据没有预期格式且无法解析或处理时抛出异常。
3 IntegerDivisionByZeroException 当数字除以零时抛出。
4 IOException 所有与输入输出相关的异常的基类。
5 IsolateSpawnException 无法创建隔离时抛出。
6 Timeout 在等待异步结果时发生计划超时时抛出。

Dart中的每个异常都是预定义类Exception的子类,必须处理异常以防止应用程序突然终止。

try/on/catch块

try块嵌入可能导致异常的代码。需要指定异常类型时使用on块。当处理程序需要异常对象时使用catch块。

try块必须紧跟一个on/catch块或一个finally块(或两者之一)。当try块中发生异常时,控制将转移到catch

处理异常的语法如下所示 -

try { 
   // code that might throw an exception 
}  
on Exception1 { 
   // code for handling exception 
}  
catch Exception2 { 
   // code for handling exception 
}