void testException() => throw Exception(“test exception”);
异常处理和大多数语言大差不差,下面总结自官方文档
完整的语法结构
try {//do something} on AException catch(e) {//do somethingrethrow;} on BException catch(e, s) {//do something} finally {//do something}
几个点:
- rethrow 可以将捕获的异常再次抛出
- finally的执行逻辑和java语言一样,无聊是否抛出,都会执行
- catch里面可以有两个参数,第二个是StaceTrace对象
- on语法和java略有不同
- 还可以这样抛异常 throw ‘Out of llamas!’;但不优雅
- 关于使用Exception还是Error: stackoverflow有解释
