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.
- }
- }