MLError (C 函数)
MLError 已经被 WSError 所取代.
int MLError(MLINK link)
返回一个值,确定发生在 link 中的最后一个错误. 如果自上次调用 WLClearError() 之后,没有发生错误,MLError() 返回 WLEOK.
更多信息
- 通过调用 WLErrorMessage() ,可以获取错误的文本描述.
- MLError() 可以返回以下值:
-
MLEOK 一切正常 MLEDEAD 链接死了 MLEGBAD 不一致的数据读取 MLEGSEQ 失序调用 MLGet() 函数 MLEPBTK MLPutNext() 传递一个坏的令牌 MLEPSEQ 失序调用 MLPut() 函数 MLEPBIG MLPutData() 给予太多数据 MLEOVFL 机器数溢出 MLEMEM 内存不足 MLEACCEPT 接受 socket 连接失败 MLECONNECT 延迟的连接仍然未连接 MLEPUTENDPACKET 意外或错过 WLEndPacket() 的调用 MLENEXTPACKET 当当前数据包具有未读取数据时调用 MLNextPacket() MLEUNKNOWNPACKET MLNextPacket() 读取一个未知数据包标头 MLEGETENDPACKET 意外结束数据包 MLEABORT 影响链接前中止 put 或 get MLECLOSED 链接的另一端关闭了链接(你可能仍然收到未分发的数据) MLEINIT MathLink 环境没有被初始化 MLEARGV 没有足够的自变量打开链接 MLEPROTOCOL 没有可用协议 MLEMODE 没有可用模式 MLELAUNCH 启动不支持 MLELAUNCHAGAIN 不能从同一文件中再次启动程序 MLELAUNCHSPACE 没有足够的空间启动程序 MLENOPARENT 没有可用的父连接 MLENAMETAKEN 链接名称已被使用 MLENOLISTEN 找到的链接名称没有被监听 MLEBADNAME 链接名称被丢失或形式不合适 MLEBADHOST 位置不可访问或形式不合适 MLELAUNCHFAILED 程序未能启动,因为缺少资源或程序库 MLELAUNCHNAME 启动失败,因为没有找到程序 MLEPSCONVERT 不能从给定的字符编码转换成链接编码 MLEGSCONVERT 不能从链接编码转换成要求的编码 MLEPDATABAD 给定编码的字符数据不正确 - MLError() 在 MathLink 的标头文件 mathlink.h 中被声明.
范例
基本范例 (1)
#include "mathlink.h"
/* send the integer 10 to a link */
void f(MLINK lp)
{
if(! MLPutInteger(lp, 10))
{
/* check the possible errors */
switch(MLError(lp))
{
case MLEDEAD:
/* the link died unexpectedly */
break;
case MLECLOSED:
/* the other side closed the link */
break;
case MLEOK:
/* no error occurred */
break;
default:
/* ... */
}
}
}