抛异常
使用:throw xxx
- 抛一个异常:throw IntegerDivisionByZeroException()
- 抛任意一个类型:throw “error”,throw 122
捕获异常
try catch finally
- try 包含一个语句块
- on 可以捕获指定一个具体的异常
- catch 可以捕获任何异常
- finally 无论如何都会执行到的语句块
try {
var c = 1/0;
} on IntegerDivisionByZeroException {
// 一个具体异常
print('0 被除');
} on Exception catch (e) {
// 任意一个异常
print('a exception: $e');
} catch (e) {
// 非具体类型
print('exception $e');
} finally{
print('finally');
}