Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 飞镖未来与再飞镖_Dart_Future - Fatal编程技术网

Dart 飞镖未来与再飞镖

Dart 飞镖未来与再飞镖,dart,future,Dart,Future,对于dart中的期货,是否有任何rethrow(而不是throw)等价物 myFunc() .then(进程值) .catchError(handleError); 是 如果a的handleError再次抛出相同的错误对象(因为其行为方式与相同),则它被视为“重新抛出”,并且还将保留原始堆栈跟踪 如果您只想捕获某些类型的错误,并重新显示其余类型的错误,则可以使用以下测试参数: myFunc() .then(进程值) .catchError(handleError,test:(e)=>e为MyEx

对于dart中的期货,是否有任何
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)){
等等();
}否则{
改头换面;
}
}