MATLAB - try,catch

MATLAB - try,catch 首页 / MATLAB入门教程 / MATLAB - try,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: []

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

性能测试实战30讲 -〔高楼〕

互联网人的英语私教课 -〔陈亦峰〕

OAuth 2.0实战课 -〔王新栋〕

A/B测试从0到1 -〔张博伟〕

手把手带你搭建秒杀系统 -〔佘志东〕

自动化测试高手课 -〔柳胜〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

手把手教你落地DDD -〔钟敬〕

AI大模型企业应用实战 -〔蔡超〕

好记忆不如烂笔头。留下您的足迹吧 :)