异常(或异常事件)是在执行程序期间出现的问题。发生异常时,程序的正常流程中断,程序/应用程序异常终止。
内置dart异常包括
序号 | 异常与描述 |
---|---|
1 |
DeferredLoadException 延迟库无法加载时抛出。 |
2 |
FormatException 当字符串或某些其他数据不具有预期格式且无法解析或处理时抛出异常。 |
3 |
IntegerDivisionByZeroException 当数字除以零时抛出。 |
4 |
IOException异常 所有与Inupt-Output相关的异常的基类。 |
5 |
IsolateSpawnException 无法创建隔离时抛出。 |
6 |
Timeout 在等待异步结果时发生计划超时时抛出。 |
Dart中的每个异常都是预定义类Exception
的子类型。必须处理异常以防止应用程序突然终止。
try / on / catch
块
try
异常块嵌入代码,有可能会导致异常。需要指定异常类型时使用on
块。catch
块,被用来处理程序需要异常对象块中使用。
try
块后面必须跟要么只有一个on / catch
块或一个 finally
(或两者之一)。当try
块中发生异常时,控件将转移到 catch
。
处理异常的语法如下所示
try {
// 可能引发异常的代码
}
on Exception1 {
// 用于处理异常的代码
}
catch Exception2 {
// 用于处理异常的代码
}