主要内容

错误

抛出错误并显示消息

描述

例子

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

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

错误(errID___在异常上包含错误标识符。标识符使您能够区分错误,并控制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
exception = MException with properties: identifier: 'MyComponent:incorrectType' message: '错误。输入必须是char类型,而不是double类型。原因:{0x1 cell} stack: [0x1 struct]

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

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

抛出错误。

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

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

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

调用不带参数的函数。

你好
没有足够的输入参数。你的意思是:>>你好(“世界”)

输入参数

全部折叠

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

请注意

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

例子:“文件未找到。”

错误标识符,指定为包含组件和助记符字段的文本标量。使用错误标识符来帮助识别错误的来源或控制程序中选定的错误子集。

错误标识符包括一个或多个组件字段和助记符字段。字段之间必须用冒号分隔。例如,带有组件字段的错误标识符组件还有一个助记域助记符指定为“组件:助记符”.组件和助记符字段都必须以字母开头。其余字符可以是字母数字(A-Z, A-Z, 0-9)和下划线。中任何地方都不能出现空白字符errID.有关更多信息,请参见MException

例子:“MATLAB: singularMatrix”

例子:MATLAB: narginchk: notEnoughInputs

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

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

消息

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

标识符

错误的标识符。有关更多信息,请参见errID

堆栈

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

提示

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

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

  • 如果所有输入为错误为空时,MATLAB不会抛出错误。

扩展功能

版本历史

R2006a之前介绍