mexErrMsgIdAndTxt (C和Fortran)
显示错误消息标识符和回归MATLAB提示
C语法
# include”墨西哥人。h”空白mexErrMsgIdAndTxt (const char * errorid, const char * errormsg,…);
Fortran语言的语法
# include“fintrf。h”子例程mexErrMsgIdAndTxt (errorid errormsg)字符* (*)errorid errormsg
参数
-
errorid
-
字符串包含一个MATLAB®消息标识符。创建标识符的更多信息,请参阅
MException
。 -
errormsg
-
字符串显示,指定为
const char *
在C或字符* (*)
在Fortran。在C语言中,函数支持utf - 8或本金宝app地代码页(LCP)编码和字符串可以包括转换规格,使用的ANSI®Cprintf
函数。编码的消息文本和转换参数必须相同。 -
…
-
在C语言中,使用的任何参数信息。每个参数都必须有一个相应的转换规范。请参考文档
printf
转换表。
描述
的mexErrMsgIdAndTxt
函数将一个错误消息写入MATLAB窗口。有关更多信息,请参见错误
使用一个消息标识符函数语法语句。错误信息后打印,MATLAB终止MATLAB的墨西哥人文件并返回控制提示。
调用mexErrMsgIdAndTxt
不清楚墨西哥人文件从内存。所以,mexErrMsgIdAndTxt
不调用函数注册mexAtExit
。
如果您的应用程序称为mxCalloc
或者一个mxCreate
*程序分配内存,mexErrMsgIdAndTxt
自动释放分配的内存。
请注意
当使用如果你得到警告mexErrMsgIdAndTxt
,您可能有一个内存管理兼容性问题。有关更多信息,请参见内存管理问题。
讲话
除了errorid
和errormsg
,mexErrMsgIdAndTxt
功能决定了发生错误的位置,并显示以下信息。例如,在函数喷火
,mexErrMsgIdAndTxt
显示:
错误使用foo
如果你编译你的墨西哥人的文件MinGW-w64编译器,看到异常处理主题的限制故障排除和限制编译C / c++与MinGW-w64墨西哥人文件。
例子
看到这些例子
:matlabroot
走读生/ / refbook例子
验证字符
输入
下面的代码片段检查输入参数,prhs [0]
,是一个字符串。如果不是这样,代码显示一个警告。如果有一个错误阅读输入字符串,墨西哥人显示一个错误消息,并终止的代码文件。
char *缓冲区;int buflen;/ /初始化变量如果(mxIsChar (prhs[0])){如果(mxGetString (prhs[0],缓冲区,buflen) = = 0) {mexPrintf(“输入字符串:% s \ n”, buf);其他}{mexErrMsgIdAndTxt (“MyProg: ConvertString”,“不能转换字符串数据。”);/ /退出墨西哥人其他文件}}{mexWarnMsgIdAndTxt (“MyProg: InputString”、“输入应该是一个字符串打印正确。”);}/ /继续处理