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

Posted yibeimingyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
n = magic(5);
try
     a = m*n;      %当程序碰到 a = m*n;错误后,就会跳转到catch里面的语句,继续执行,有点类似于if...else...end
     disp(a)
catch
     disp(size(m))
     disp(size(n))
end
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)
以上内容来自于https://blog.csdn.net/smf0504/article/details/51811441

以上是关于matlab中的try...catch...end的主要内容,如果未能解决你的问题,请参考以下文章

matlab中的eval有啥用?

matlab读取.mat文件中的指定数据

请问MATLAB中的sparse函数怎样使用?

matlab中的结构体

matlab中的unwrap有啥作用

matlab中的get函数怎么用