主要内容

抛出异常

描述

例子

扔(例外根据包含的信息抛出异常mexception.目的,例外。异常终止当前运行的函数,并将控件返回给键盘或封闭抓住堵塞。当你从外部抛出异常试着抓声明,matlab.®在命令窗口中显示错误消息。

功能,不像BrownAscaller.rethrow.函数,从Matlab调用函数的位置创建堆栈跟踪。

你可以访问mexception.对象通过A.试着抓声明或者mexception.last.功能。

例子

全部收缩

如果在工作区中不存在输入变量名称,则抛出异常。

str =输入('键入变量名称:'');如果〜存在(str,'var')我= mexception('mycomponent:nosuchvariable'......'未找到变量%s',str);扔给我)结尾

在输入提示符下,输入工作区中不存在的任何变量。例如,输入不公平

Varument否定未找到

自从不可行的在工作区中不存在,Matlab创建并抛出mexception.目的。

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

功能C = Combinearrays(A,B)尝试C = Catalongdim1(A,B);%第3行抓住异常掷(例外)%第5行结尾结尾功能v = Catalongdim1(V1,V2)V = CAT(1,V1,V2);%第10行结尾

打电话给Combinearrays.使用不同尺寸的阵列的功能。

a = 1:5;B = 1:4;Combinearrays(A,B)
使用Combinearrays(第5行)矩阵的尺寸的误差不一致。

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

代替扔(例外)Rethrow(例外)在第5行Combinearrays.功能,再次调用函数。

Combinearrays(A,B)
使用矩阵的CAT尺寸的矩阵尺寸的错误不一致。Combinearrays误差> Catalongdim1(第10行)V = CAT(1,V1,V2);Combinearrays中的%线10误差(第3行)C = Catalongdim1(A,B);%第3行

rethrow.函数维护原始堆栈,并表示错误在第3行。

输入参数

全部收缩

包含错误的原因和位置的例外,指定为标量mexception.目的。

在R2007B中介绍