MATLAB中关于try…catch…end的用法 异常捕获

  • Post author:
  • Post category:其他


%% 异常捕获(让自己早点发现)

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

MATLAB中关于try…catch…end的用法

我们知道,matlab的代码是按行执行的,如果碰到错误行,则程序中断。try…catch

可以使得可能出错代码不影响后面代码的继续执行,也可以检查,排查,解决程序的一些错误, 增强代码的鲁棒性和可靠性。

%% 1、try...end    %%try...end用于尝试运行一段也许可能出错的代码,比如:
% 这段代码里面,a = m*n运行会出错,不满足矩阵乘法的原则,try...end中间的语句不会执行

m = rand(3,4); 
n = magic(5);
try 
        a = m*n; 
        disp(a);
end 
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('查看两个矩阵的行数和列数')
        disp(size(m));
        disp(size(n));
end
disp('m=');
disp(m);
disp('n=');
disp(n);
%% 3、try...catch err...end用于检查错误
m = rand(3,4);
n = magic(6);
try
        a = m*n;
        disp(a)
catch err
        disp(size(m))
        disp(size(n))
end
disp('m=');
disp(m);
disp('n=');
disp(n);
%% 4、try里面没有报错,就跳过catch里面的语句
  m = rand(6,6);
  n = magic(6);
  x='两个矩阵乘法的结果是a=';
try
        a = m*n;
        disp(x);
        disp(a);
catch
    

     disp(size(m));
     disp(size(n));

end
disp('m=');
disp(m);
disp('n=');
disp(n); 
%%

%在写matlab程序时,如果一行代码太长,不利于可读性和美观,那么我们可以使用三个点号(...)来实现换行。续行符



%% 附加知识

% 本文以matlab R2013a为例介绍相应的注释技巧,话不多说,见干货:
% 
% 一、鼠标或键盘操作:
% 
% 选中你要加注释的内容,右键单击选择“comment”(注释),快捷键操"Ctrl+R"。(绿色显示)
% 
% 把注释变为代码语句,同样选中要转变的语句,然后右键单击选择“uncomment”(取消注释)即可,快捷键操"Ctrl+T"。
% 
% 二、注释块操作:
% 采用matlab块注释方法
% %{
% 需要注释不执行的若干代码行(绿色显示)
% %} 



% 三、判断语句操作:
% 在注释段前面加一行:if ZHUSHI(0)
% 在注释段后面加一行:end
% 
%  
% 
% 这个方法通过逻辑判断语句决定是否执行相关的代码语句,因此相应的代码行颜色不会变成注释色——绿色。
% 
%  
% 
% 注意:“ZHUSHI”名字随便起,如果感觉麻烦可以不写,直接写“0”,如:
% 
% if 0
% 
% 注释代码
% 
% end



%%  附加调试技巧
%    双%%的作用:代码分块运行,点击双%%之间的代码,再点Run Section(执行当前节),就可以分块运行代码了,这样更方便调试。



% 因为%%在matlab代码中的作用是将代码分块,上下两个%%之间的部分作为一块,在运行代码的时候可以分块运行,查看每一块代码的运行情况。常用于调试程序
% 分块运行的方法有两种:
% 第一种,将光标放置在要运行的那一块中,然后在工具栏中选择运行节,英文为Run Section;
% 第二种,将光标放置在要运行的那一块中,直接按Ctrl+Enter也可以实现分块运行;

%% 附加调试技巧

% 双%%的作用:代码分块运行,点击双%%之间的代码,再点Run Section(执行当前节),就可以分块运行代码了,这样更方便调试。

% 因为%%在matlab代码中的作用是将代码分块,上下两个%%之间的部分作为一块,在运行代码的时候可以分块运行,查看每一块代码的运行情况。常用于调试程序

% 分块运行的方法有两种:

% 第一种,将光标放置在要运行的那一块中,然后在工具栏中选择运行节,英文为Run Section;

% 第二种,将光标放置在要运行的那一块中,直接按Ctrl+Enter也可以实现分块运行。



版权声明:本文为weixin_40933653原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。