matlab学习笔记:第四章4.3处理异常的 try-catch 语句

1.try-catch语句

在编写 MATLAB程序时,我们需要考虑程序的健壮性和容错性。有时候,我们编写的程序会出现意想不到的错误或异常情况,如数据输入错误、文件读取问题、网络连接错误等。为了更好地处理这些异常情况,MATLAB 提供了一种强大的工具,即try-catch语句,它允许我们在代码块中尝试执行可能会引发异常的操作,并在异常发生时捕获并处理它们,而不会导致程序报错终止。

如果try中编写的代码发生了异常,转而运行catch中的语句。 

A = ones(3,3);
B = ones(5,5);
C = A + B       %会报错"对于此运算,数组的大小不兼容。"
D = 1 + 2       %上边的报错,下面这一行代码就无法运行。


A = ones(3,3);
B = ones(5,5);
try
    A + B
catch
    disp("大小不兼容哦,无法计算!")
end
D= 1 + 2        %这行代码就可以运行
M = rand(4,4)
r = 6;
try
    r = r*2;
    x = M(r, :)  % 取M的第r行元素
catch  aaa
    x = []       % 若M没有第r行元素,则返回空向量
end
aaa
lasterr

%aaa = 

  MException - 属性:

    identifier: 'MATLAB:badsubscript'
       message: '位置 1 处的索引超出数组边界。索引不能超过 4。'
         cause: {}
         stack: [0×1 struct]
    Correction: []

注:lasterr 函数能够返回 MATLAB 生成的最后一条错误消息,尽管这个错误已经被代码中的 try-catch 语句捕获了。
上面两个应用 try-catch语句的例子比较简单下面给大家描述一些常见的应用try-catch语句捕获异常的场景。

(1)文件操作异常:例如MATLAB 在读取或写入本地文件时容易出现文件不存在、文件被占用、读取或写入权限不足等问题。

(2)数据处理异常:例如题目给的数据中有1000条字符串,我们需要通过某个函数来提取这 1000条字符串中的数据,但有少数几条字符串在提取数据时会报错,需要单独处理。

(3)网络通信异常:在使用 MATLAB执行爬虫操作时(爬取网站上的数据),可能出现的一些网络错误,如网络连接超时、ip被封禁等。

(4)GUI应用异常:在GUI(即图形用户界面)应用程序中处理用户输入或操作可能引发的异常,例如某个输入框中需要用户输入一个数字,结果用户输入了一个字符串。

(5)信号处理异常:在信号处理或实时控制系统中,可能需要处理硬件故障或信号丢失等异常情况。
(6)数据库操作异常:MATLAB与数据库交互时,可能会出现连接中断、SOL查询错误或数据不一致等异常。

这些不同的应用场景都可以受益于try-catch语句,处理可能的异常情况能够提高程序的可靠性,也能给使用程序的其他用户提供更好的体验。

参考:数学建模清风老师《MATLAB教程新手入门篇》https://www.bilibili.com/video/BV1dN4y1Q7Kt/  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值