主要内容

断言

如果条件假抛出错误

描述

例子

维护(气孔导度)抛出一个错误如果气孔导度是假的。

例子

维护(气孔导度,味精)抛出一个错误并显示错误消息,味精,如果气孔导度是假的。

维护(气孔导度,味精,A1,…,一个)显示一个错误消息,其中包含格式转换角色,比如使用MATLAB®sprintf功能,如果气孔导度是假的。每个转换角色味精转化为一个值A1,…,一个

例子

维护(气孔导度,errID,味精)抛出一个错误,显示错误消息,味精,包括一个错误标识符的例外,如果气孔导度是假的。标识符可以区分错误和控制MATLAB遇到错误时发生了什么。

维护(气孔导度,errID,味精,A1,…,一个)包含一个错误标识符的异常并显示一个格式化的错误消息。

例子

全部折叠

断言的值,x大于一个指定的最小值。

minVal = 7;x = 26;断言(minVal < x)

表达式值为true,断言。

断言的值x在指定的最小值和最大值之间。

maxVal = 13;断言((minVal < x) & & (x < maxVal))
断言失败。

表达式值为假。断言失败和MATLAB抛出一个错误。

断言,两个数字的乘积是一个双精度数。

一个= 13;b =单(42);c = a * b;断言(isa (c,“双”),产品不是类型双。)
产品不是类型翻倍。

提高错误消息显示的数据类型c

断言(isa (c,“双”),产品类型% s,不是双。”类(c))
产品类型单一,不翻倍。

使用断言功能测试不应该发生在正常代码执行的条件。如果数字系数,计算出的根源应该是数字。使用指定的系数和二次方程计算根应该是零。

函数x = quadraticSolver (C) validateattributes (C, {“数字”},{“大小”3 [1]})= C (1);b = C (2);c = c (3);x (1) = (- b + sqrt (b * * c ^ 2 - 4) / (2 *);x (2) = (-b-sqrt (b * * c ^ 2 - 4) / (2 *);断言(isnumeric (x),“quadraticSolver: nonnumericRoots”,根不是数值计算的)日元= x (1) ^ 2 + b * * x (1) + c;y2 = * x (2) ^ 2 + b * x (2) + c;断言(日元= = 0,“quadraticSolver: root1Error”,的错误在第一根)维护(isequal (y2, 0),“quadraticSolver: root2Error”,“第二根错误”)结束

输入参数

全部折叠

坚持条件,指定为一个有效的MATLAB表达式。这个表达式必须逻辑或可转换逻辑。如果气孔导度是假的,断言函数将抛出一个错误。气孔导度可以包括关系运算符(如<= =)和逻辑运算符(如& &,| |,或~)。使用逻辑运算符创建复合表达式。MATLAB计算复合表达式从左到右,坚持运算符优先级规则。

例子:< 0

例子:存在(“myfunction.m”、“文件”)

断言失败的信息,指定为一个特征向量或字符串标量。这个信息显示错误消息。消息的格式,使用转义序列,如\ t\ n。你也可以使用任何支持的格式说明符金宝appsprintf功能,如% s% d。说明符通过指定值的转换A1,…,一个输入参数。有关更多信息,请参见格式化文本

请注意

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

例子:“断言条件失败了。”

数字、字符或字符串数组。这个输入参数提供的值对应的转换说明符和替换味精

标识断言失败,指定为一个特征向量或字符串标量。使用标识符来帮助识别误差的来源或控制的所选子集程序中的错误。

包含一个或多个错误标识符组件字段和一个助记符字段。字段必须用冒号分开。例如,一个错误标识符与组件组件和一个助记符字段助记符被指定为“组件:助记符”。每个组件和助记符字段必须以字母开头。剩余的字符可以# (a - z、a - z 0 - 9)和下划线。不可以出现任何空白字符errID。有关更多信息,请参见MException

例子:“MATLAB: singularMatrix”

例子:MATLAB: narginchk: notEnoughInputs

提示

  • 当你发出一个错误,MATLAB捕获信息并将其存储在一个数据结构,是一个对象MException类。您可以访问异常对象使用的信息try / catch。或者,如果您的程序终止,因为异常并将控制返回到命令提示符,您可以使用MException.last

  • 如果断言失败发生在一个试一试块,MATLAB不停止程序的执行。在这种情况下,MATLAB控制块。

扩展功能

版本历史

介绍了R2007a

另请参阅

|