主要内容

重新抛出

重新抛出先前捕获的异常

描述

例子

重新抛出(异常重新抛出先前捕获的异常,异常.MATLAB®通常通过终止当前运行的程序来响应错误。但是,你可以使用try / catch块来捕获异常。这将中断程序终止,以便您可以执行自己的错误处理过程。若要终止程序并重新显示异常,请结束块和一个重新抛出声明。

重新抛出以不同的方式处理堆栈跟踪错误断言,.不是在MATLAB执行函数的地方创建堆栈,重新抛出保留原始异常信息,并使您能够追溯原始错误的来源。

例子

全部折叠

调用MATLAB抛出错误冲浪没有输入。捕获异常,显示错误标识符,并重新抛出异常。

试一试冲浪我disp ([“,”ME.identifier])重新抛出(我)结束
ID: MATLAB: narginchk: notEnoughInputs使用surf时出错(第49行)。

创建一个函数,combineArrays,在您的工作文件夹中。

函数C = combineArrays (A, B)试一试C = catAlongDim1 (A, B);% 3号线引发异常(异常)%第5行结束结束函数V = cat(1,V1,V2); / / V = cat(1,V1,V2);% 10号线结束

调用combineArrays函数具有不同大小的数组。

一个= 1:5;B = 1:4;combineArrays (A, B)
使用combineArrays的错误(第5行)被连接的矩阵的维度不一致。

堆栈指的是MATLAB抛出异常的第5行。

取代把(异常)重新抛出(异常)在第5行combineArrays函数,并再次调用该函数。

combineArrays (A, B)
使用cat的错误被连接的矩阵的维数不一致。错误in combineArrays>catAlongDim1 (line 10) V = cat(1,V1,V2);C = catAlongDim1(A,B);% 3号线

重新抛出函数维护原始堆栈,并指出错误在第3行。

输入参数

全部折叠

异常,包含错误的原因和位置,指定为标量MException对象。

介绍了R2007b