matlab中try ... catch的使用

在设计matlab程序时,如果不能确保某段程序代码是否会出错,可以采用try...catch语句,其能够捕获和处理错误,使得可能出错的代码不影响后面代码的继续执行,也可以检查,

排查,解决程序的一些错误,增强代码的鲁棒性和可靠性。

格式:

        try

             程序代码1;

        catch

             程序代码2;

        end

       程序首先运行try和catch之间的“程序代码1”,如果没有发生错误则不执行catch和end之间的“程序代码2”,而是执行end后的程序;如果在执行“程序代码1”时产生错误,则立即执行“程序代码2”,然后继续执行end后的程序。

例如:

1、try...end

try...end用于尝试运行一段也许可能出错的代码,比如:

m = rand(3,4); 

n = magic(5);

try 

    a = m*n; 

    disp(a)

end 

disp(m)

这段代码里面,a = m*n运行会出错,不满足矩阵乘法的原则。所以,a = m*n和disp(a)不执行,但后面的disp(m)亦然会执行;

2、try...catch...end

m = rand(3,4);

n = magic(5);

try

     a = m*n;

     disp(a)

catch err

     disp(size(m))

     disp(size(n))

end

disp(m)

这里面,当程序碰到 a = m*n;错误后,就会跳转到catch里面的语句,继续执行,有点类似于if...else...end;

err的加入使其能够清晰的显示调试运行所处的行

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐