MATLABtry,catch

/ / MATLABtry,catch

MATLAB定义了一些用于控制错误的函数。 try-catch语句是一个错误控制函数,如下所述。

try- catch声明

Try-Catch语句提供错误处理控制。一般形式的Try-Catch声明是

	try
		Statements
	catch   exception
		Statements
	end

try和第一个执行之间的语句。如果在尝试和catch之间执行语句中没有出现错误,则MATLAB进一步执行end关键字后的语句/代码。如果在尝试和捕获之间的语句执行语句期间发生错误,则MATLAB在catch和end之间执行语句。可以在以下示例的帮助下解释try-catch语句。

示例:

a = ones(4);
b = zeros(3);
try
    c = [a;b];
catch ME
    disp(ME)
end

输出:

 
 MException with properties:

    identifier: 'MATLAB:catenate:dimensionMismatch'
       message: 'Dimensions of arrays being concatenated are not consistent.'
         cause: {0?1 cell}
         stack: [3×1 struct]
    Correction: []
MATLAB Error Control Statement-try, catch

    如果需要,我们可以使用嵌套的try/catch块,当try块中发生任何错误或异常时,MATLAB都会构造MException类的实例,并在catch中返回该对象。
a = ones(4);
b = zeros(3);
try
    c = [a;b];
catch ME
   % strcmp 字符串比较函数,用于检查 ME 标识符中的相同字符串
    if (strcmp(ME.identifier,'MATLAB:catenate:dimensionMismatch'))
	% 如果为真,则更改消息属性
        msg = ['dimension mismatch occured: First argument has ',...
            num2str(size(a,2)), ' columns, while second argument has ',...
            num2str(size(b,2)),' columns.'];
        causeException = MException('MATLAB:mycode:dimensions',msg)
        ME = addCause(ME, causeException);
    end
 
end

输出:

causeException = 
  MException with properties:

    identifier: 'MATLAB:mycode:dimensions'
       message: 'dimension mismatch occured: First argument has 4 columns, while second argument has 3 columns.'
         cause: {}
         stack: [0×1 struct]
    Correction: []

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

循序渐进精通AI编程之道 -〔蒋志伟〕

给程序员的写作课 -〔高磊〕

人人都用得上的数字化思维课 -〔付晓岩〕

eBPF核心技术与实战 -〔倪朋飞〕

Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕

PyTorch深度学习实战 -〔方远〕

爆款文案修炼手册 -〔乐剑峰〕

系统性能调优必知必会 -〔陶辉〕

持续交付36讲 -〔王潇俊〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者