天天看点

matlab中的try...catch...end

我们知道,matlab的代码是按行执行的,如果碰到错误行,则程序中断。try..catch可以使得可能出错代码不影响后面代码的继续执行,也可以检查,排查,解决程序的一些错误,增强代码的鲁棒性和可靠性。

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);

try

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

     disp(a)

catch

     disp(size(m))

     disp(size(n))

end

2、try...catch...end用于检查错误

     a = m*n;

catch err