重复迭代使用try / catch与一个错误

28日视图(30天)
我写了一个嵌套循环exexcute大量的迭代。然而,有时一个错误停止程序。我想重复 iEv个迭代 发生错误,然后继续下一个迭代。请参见以下代码,如果要修改,请让我知道。
iTcm = 1: nTcm
iScen = 1: nScen
iEv = 1:内华达州
试一试
MyProgramHere
disp(我);
流(“再审程序…\ n”);
结束
结束
结束
结束

接受的答案

詹姆斯Tursa
詹姆斯Tursa 2020年4月3日
编辑:詹姆斯Tursa 2020年4月3日
也许这构造做你想要的
(真正的)
试一试
MyProgramHere
打破
disp(我);
流(“再审程序…\ n”);
结束
结束
3评论
詹姆斯Tursa
詹姆斯Tursa 2020年4月3日
编辑:詹姆斯Tursa 2020年4月4日
不。我的意思是我写的什么,没有这条线:
iEv = iEv - 1;%删除这一行
摆脱这条线,它将继续无限期地重复相同的迭代,直到通过。iEv不会改变,直到你成功的迭代。如果你想尝试的数量限制在你生成一个错误然后额外的代码需要被添加。

登录置评。

答案(1)

darova
darova 2020年4月3日
编辑:darova 2020年4月3日
我的主张
iTcm = 1: nTcm
iScen = 1: nScen
iEv = 0;
iEv < =内华达州
iEv = iEv + 1;
试一试
MyProgramHere
iEv = iEv-1;
disp(我);
流(“再审程序…\ n”);
结束
结束
结束
结束
4评论
Mos_bad
Mos_bad 2020年4月3日
与改进的代码,当iEv计数内华达州,程序控制立即 块。所以程序停止没有(iScen + 1)迭代。

登录置评。

类别

找到更多的在核磁共振成像帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!