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
}