错误

抛出错误和显示消息

描述

例子

错误(味精抛出错误并显示错误消息。

错误(味精A1,......,一个显示包含格式转换字符的错误消息,例如与MATLAB一起使用的字符®Sprintf.功能。每个转换字符味精被转换为其中一个值A1,......,一个

错误(错误___包括异常的错误标识符。标识符使您能够区分错误并控制Matlab遇到错误时发生的情况。您可以在前一个语法中包含任何输入参数。

例子

错误(错误使用标量结构中的字段抛出错误。

例子

错误(更正___为例外提供建议的修复。您可以在前一个语法中包含任何输入参数。

例子

全部收缩

msg =.'错误发生。';错误(msg)
错误发生。

抛出具有划线的格式错误消息。您必须指定多个输入参数错误如果您希望MATLAB转换特殊字符(例如\ n)在错误消息中。包括有关变量类的信息N在错误消息中。

n = 7;如果〜irchar(n)错误('错误。\ ninput必须是一个字符,而不是%s。,班级(n))结尾
错误。输入必须是CHAR,而不是双倍。

如果您只使用一个输入参数错误,然后matlab不转换\ n折断。

如果〜irchar(n)错误('错误。\ ninput必须是一个炭。'结尾
错误。\ ninput必须是一个字符。

用标识符抛出错误。

如果〜irchar(n)错误('mycomponent:不超过的rtepe'......'错误。\ ninput必须是一个字符,而不是%s。,班级(n))结尾
错误。输入必须是CHAR,而不是双倍。

使用mexception.last.要查看最后一个未捕获的异常。

例外= mexception.last.
异常=带有属性的MEXception:标识符:'mycomponent:不超过的rtepe'消息:'错误。输入必须是一个char,而不是双重。原因:{0x1 Cell}堆栈:[0x1 struct]

使用消息和标识符字段创建结构。要保持示例简单,请不要使用堆栈字段。

Errorsstruct.message =.'找不到数据文件。';Errorstruct.Identifier =.'myFunction:filenotfound';
ERRORSTRUST =消息:'找不到数据文件。'标识符:'myFunction:filenotfound'

抛出错误。

错误(错误)
找不到数据文件。

创建一个功能你好这需要一个输入参数。添加建议的输入参数“世界”错误消息。

功能你好(观众)如果nargin <1 aac = matlab.lang.corcrectile.appendargumentsCorrection('“世界”');错误(AAC,'matlab:notenoughinputs''没有足够的输入参数。'结尾fprintf(“你好,%s!\ n”, 观众)结尾

在没有参数的情况下调用函数。

你好
使用hello(第4行)错误不足输入参数。你的意思是:>>你好(“世界”)

输入参数

全部收缩

有关错误的信息,指定为字符向量或字符串标量。此消息显示为错误消息。要格式化消息,请使用转义序列,例如\或者\ n。您还可以使用所支持的任何格式说明符万博1manbetxSprintf.功能,如%S.或者%D.。通过该值指定转换说明符的值A1,......,一个输入参数。有关更多信息,请参阅格式化文本

笔记

您必须指定多个输入参数错误如果您希望MATLAB转换特殊字符(例如\\ n%S., 和%D.)在错误消息中。

例子:'文件未找到。'

错误的标识符,指定为字符向量或字符串标量。使用错误标识符来帮助识别错误的源或控制程序中错误的所选子集。

错误标识符包括一个或多个成分领域和A.助药版场地。字段必须用冒号分开。例如,具有组件字段的错误标识符成分和一个助记符助药版被指定为'组件:助药器'。组件和助记符必须以字母开头。剩下的字符可以是字母数字(A-Z,A-Z,0-9)和下划线。任何空格字符都没有出现在任何地方错误。有关更多信息,请参阅mexception.

例子:'matlab:singularmatrix'

例子:'matlab:narginchk:notenoughinputs'

替换转换说明符的值味精,指定为字符向量,字符串标量或数字标量。

错误报告信息,指定为标量结构。结构必须包含这些字段中的至少一个。

信息

错误信息。有关更多信息,请参阅味精

标识符

错误标识符。有关更多信息,请参阅错误

堆栈字段为错误。什么时候错误包括A.场地,错误使用它来设置错误的堆栈字段。当您指定时,使用绝对文件名和嵌套堆栈帧中的函数的整个函数序列。这个字符向量与返回的字符矢量相同dbstack(' - completeNames')

尖端

  • 抛出错误时,MATLAB捕获有关它的信息并将其存储在一个数据结构中mexception.班级。您可以使用的方法访问异常对象中的信息试着抓。或者,如果您的程序因例外终止并将控件返回给命令提示符而,则可以使用mexception.last.

  • 如果在a中发生错误,matlab不会停止执行程序尝试堵塞。在这种情况下,Matlab通过控制权抓住堵塞。

  • 如果所有输入错误是空的,matlab不会丢失错误。

扩展能力

GPU阵列
使用并行计算工具箱™在图形处理单元(GPU)上运行,加速代码。

在R2006A之前介绍