dart 开发:avoid control flow in finally blocks.
带返回值的函数,如果抛出异常,那么返回值该如何处理呢?最常见的错误是:avoid control flow in finally blocks.
void main() {
int result = tryCatch();
print(result);
}
int tryCatch(){
try {
print("try...");
throw "this is exception";
return 1; //无效代码,因为上句已经抛出异常,不再执行此行代码
} catch (e) {
print("catch...");
// return 2; //返回值的正确位置
} finally {
print("finally...");
// return 3; //如果在此处返回函数值,则会有提示:avoid control flow in finally blocks.
}
}