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: []

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

技术教程推荐

零基础学Java -〔臧萌〕

RPC实战与核心原理 -〔何小锋〕

代码之丑 -〔郑晔〕

流程型组织15讲 -〔蒋伟良〕

说透数字化转型 -〔付晓岩〕

React Hooks 核心原理与实战 -〔王沛〕

React Native 新架构实战课 -〔蒋宏伟〕

运维监控系统实战笔记 -〔秦晓辉〕

Rust 语言从入门到实战 -〔唐刚〕

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