Flutter列表功能执行错误管理



在flutter中,我在initState上执行多个函数。像这样:-

@override
void initState() {
super.initState();
function1();
function2();
function3();
function4();
}

在CCD_ 1具有一些错误的情况下,它也影响CCD_。我们如何避免这种情况?

您可以在每个函数中调用try,以避免在出现错误时停止:

void function1(){
try {
//put you code hear
} catch (e) {
print("e = $e");
}
}

您必须使用try&catch但是,有一种方法只能在一个地方书写!

在CCD_ 7上创建CCD_;如果出现错误,则吸收错误。

这里有一个例子:

import 'dart:developer';
void f1() => print('f1');
void f2() => throw 'STOP';
void f3() => print('f3');
extension FunctionUtils on Function {
void callAndAbsorbError() {
try {
this.call();
} catch (e, st) {
log("Error in $this", error: e, stackTrace: st);
}
}
}
void main(List<String> arguments) {
f1.callAndAbsorbError();
f2.callAndAbsorbError();
f3.callAndAbsorbError();
}

这样,您就不需要在创建的每个函数中都编写try-catch。并且您的所有功能都将执行。

更多关于extensions:vandad的博客

最新更新