主要内容

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,您可能有一个内存管理兼容性问题。有关更多信息,请参见内存管理问题

讲话

除了erroriderrormsg,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”、“输入应该是一个字符串打印正确。”);}/ /继续处理

版本历史

之前介绍过的R2006a

全部展开