我可以重做 while 块异常处理吗
Can I redo with while block exception handling
我的异常处理捕获了异常,但重做时抛出了一些错误。
我正在使用第 3 方 api 获取超过 500 万条数据,但是 api 经常抛出 500 错误。
我正在使用异常处理,如果发生任何错误我想重做循环
eval{
while(my $productsRef = $se->iterate_products()) {
print Dumper($productsRef);
}
};
if ($@){
sleep 30;
redo;
}
如果捕获到某些异常,上面的代码会抛出错误
cant "redo" outside the loop
您不能 redo
在循环或 basic-block、
之外
REDO_EVAL: {
my $ok = eval {
while(my $productsRef = $se->iterate_products()) {
print Dumper($productsRef);
}
1;
};
if (!$ok){
# print "$@\n";
sleep 30;
redo;
}
}
我的异常处理捕获了异常,但重做时抛出了一些错误。
我正在使用第 3 方 api 获取超过 500 万条数据,但是 api 经常抛出 500 错误。
我正在使用异常处理,如果发生任何错误我想重做循环
eval{
while(my $productsRef = $se->iterate_products()) {
print Dumper($productsRef);
}
};
if ($@){
sleep 30;
redo;
}
如果捕获到某些异常,上面的代码会抛出错误
cant "redo" outside the loop
您不能 redo
在循环或 basic-block、
REDO_EVAL: {
my $ok = eval {
while(my $productsRef = $se->iterate_products()) {
print Dumper($productsRef);
}
1;
};
if (!$ok){
# print "$@\n";
sleep 30;
redo;
}
}