MATLAB中try...catch...end的用法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34216467/article/details/65447776

matlab的代码是按行执行的,如果碰到错误行,则程序中断,try...catch...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
    disp(size(m))
    disp(size(n))
end
disp(m)

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

3、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)

猜你喜欢

转载自blog.csdn.net/qq_34216467/article/details/65447776
今日推荐