MATLAB定义了一些用于控制错误的函数。 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: []
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: []
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)