我试图使用带有警告消息的warning()
函数。当我尝试warning('random message')
时,它的效果非常好。但是,如果我将字符串更改为error
,我会收到错误消息,说它没有足够的输入参数:
warning('error')
Error using warning
Not enough input arguments.
error
这个词是否有什么特别的东西阻止我将其用作消息?
我正在使用2014b
。
答案 0 :(得分:8)
是的,'error'
标志是一个特殊的未记录的选项,需要额外的输入(message identifier)。它用于捕获/捕获警告作为错误。请参阅this Undocumented Matlab post和this MathWorks Newsgroup posting。
此问题也可以在R2015a中复制。也许这个有用的选项应该被记录,或者warning('error')
没有消息标识符应该按预期工作。您可以考虑使用The MathWorks filing a service request。
但是,使用初始消息ID的warning
(和error
)的双输入形式可能是一个好习惯。例如:
warning('MyFunction1:MyWarningName1','error')
或
warning('MyLibrary:MyFunction2:MyWarningName2','error')