我试图使用warning()带有警告消息的函数.当我尝试warning('random message')它工作得很好.但是,如果我改变字符串error,我会收到一条错误,说它没有足够的输入参数:
warning('error')
Error using warning
Not enough input arguments.
Run Code Online (Sandbox Code Playgroud)
这个词有什么特别的东西error阻止我将它用作信息吗?
我在用2014b.
是的,该'error'标志是一个特殊的未记录选项,需要额外的输入(消息标识符).它用于捕获/捕获警告作为错误.请参阅此未记录的Matlab帖子和此MathWorks新闻组的帖子.
这个问题也可以在R2015a中复制.也许这个有用的选项应该被记录下来,或者可能warning('error')没有消息标识符应该按预期工作.您可以考虑使用The MathWorks 提交服务请求.
但是,使用初始消息ID 的双输入形式warning(和error)可能是个好习惯.例如:
warning('MyFunction1:MyWarningName1','error')
Run Code Online (Sandbox Code Playgroud)
要么
warning('MyLibrary:MyFunction2:MyWarningName2','error')
Run Code Online (Sandbox Code Playgroud)