Dart 飞镖未来与再飞镖
对于dart中的期货,是否有任何Dart 飞镖未来与再飞镖,dart,future,Dart,Future,对于dart中的期货,是否有任何rethrow(而不是throw)等价物 myFunc() .then(进程值) .catchError(handleError); 是 如果a的handleError再次抛出相同的错误对象(因为其行为方式与相同),则它被视为“重新抛出”,并且还将保留原始堆栈跟踪 如果您只想捕获某些类型的错误,并重新显示其余类型的错误,则可以使用以下测试参数: myFunc() .then(进程值) .catchError(handleError,test:(e)=>e为MyEx
rethrow
(而不是throw
)等价物
myFunc()
.then(进程值)
.catchError(handleError);
是
如果a的handleError
再次抛出相同的错误对象(因为其行为方式与相同),则它被视为“重新抛出”,并且还将保留原始堆栈跟踪
如果您只想捕获某些类型的错误,并重新显示其余类型的错误,则可以使用以下测试参数:
myFunc()
.then(进程值)
.catchError(handleError,test:(e)=>e为MyException);
这只捕获MyException
异常,并允许任何其他错误通过,而无需重新显示它们。测试
可以进行任何测试,而不仅仅是类型检查
此外,如果您使用async
函数,则只需使用rethrow
:
…)异步{
试一试{
var processValue=await myFunc();
....
}捕获(e){
如果(某物(e)){
等等();
}否则{
改头换面;
}
}