文档

错误

抛出错误并显示消息

描述

例子

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

错误(味精A1,…,一个显示一条错误消息,其中包含格式转换字符,例如MATLAB中使用的那些®sprintf函数。中的每个转换字符味精转换为其中一个值A1,…,一个

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

例子

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

例子

错误(修正___提供针对异常的建议修复。您可以在前面的语法中包含任何输入参数。

例子

全部折叠

味精=错误发生。;错误(味精)
错误发生。

抛出带换行符的格式化错误消息。必须指定多个输入参数错误如果您想让MATLAB转换特殊字符(如\ n)在错误消息中。包括关于变量类的信息n在错误消息中。

N = 7;如果~ ischar (n)错误(的错误。\nInput必须是一个字符,而不是一个%s。类(n))结束
错误。输入必须是char类型,而不是double类型。

如果只使用一个输入参数错误,则MATLAB不进行转换\ n到换行符。

如果~ ischar (n)错误(的错误。\nInput必须是一个字符。结束
错误。\nInput必须是一个字符。

抛出带有标识符的错误。

如果~ ischar (n)错误(MyComponent”添加:incorrectType的错误。\nInput必须是一个字符,而不是一个%s。类(n))结束
错误。输入必须是char类型,而不是double类型。

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

exception = MException.last
异常= MException与属性:标识符:'MyComponent:incorrectType'消息:'错误。输入必须是char类型,而不是double类型。原因:{0x1 cell} stack: [0x1 struct]

创建带有消息和标识符字段的结构。为了保持示例简单,不要使用stack字段。

errorStruct。消息=“没有找到数据文件。”;errorStruct。标识符=“MyFunction: fileNotFound”;
errorStruct = message: '数据文件未找到。'标识符:'MyFunction:fileNotFound'

抛出错误。

错误(errorStruct)
没有找到数据文件。

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

函数你好(观众)如果margin < 1 aac = matlab.lang.correction.AppendArgumentsCorrection()“世界”的);错误(aac格式,“MATLAB: notEnoughInputs”“输入参数不足。”结束流(“你好,% s !\ n”观众)结束

不带参数调用函数。

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

输入参数

全部折叠

有关错误的信息,指定为字符向量或字符串标量。此消息显示为错误消息。要格式化消息,请使用转义序列,例如\ t\ n.类支持的任何格式说明符也可以使用金宝appsprintf函数,例如% s% d.为转换说明符指定值A1,…,一个输入参数。有关更多信息,请参见格式化文本

请注意

必须指定多个输入参数错误如果您想让MATLAB转换特殊字符(如\ t\ n% s,% d)在错误消息中。

例子:“找不到文件。”

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

错误标识符包括组件助记符.标识符必须始终包含冒号,并遵循以下简单格式:组件:助记符.的组件助记符每个字段必须以字母开头。其余字符可以是字母数字(A-Z、A-Z、0-9)和下划线。中的任何地方都不能出现空白字符是否.有关更多信息,请参见消息标识符

例子:“MATLAB: singularMatrix”

例子:MATLAB: narginchk: notEnoughInputs

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

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

消息

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

标识符

错误消息标识符。有关更多信息,请参见是否

堆栈

错误的堆栈字段。当errorStruct包括一个堆栈领域,错误使用它来设置错误的堆栈字段。当你指定堆栈,使用绝对文件名和将函数嵌套在堆栈框架中的整个函数序列。返回的字符向量相同dbstack(“-completenames”)

提示

  • 抛出错误时,MATLAB捕获有关它的信息并将其存储在数据结构中,该数据结构是MException类。异常对象中的信息可以使用try / catch.或者,如果程序因异常而终止并将控制权返回给命令提示符,则可以使用MException.last

  • 函数中出现错误时,MATLAB不会停止程序的执行试一试块。在这种情况下,MATLAB将控制传递给块。

  • 如果所有的输入错误都是空的,MATLAB不会抛出错误。

扩展功能

GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。

R2006a之前引入