在进行复杂运算时,仅在末尾检查错误通常是方便的. 当发现有错误时,必须用
MLClearError() 去重新激活
MathLink.
发生错误后,一般要放弃当前处理的包或表达式的剩余部分,这可以用
MLNewPacket()来实现.
在处理某些数据时若出现错误,随后还有可能用不同的方式重新处理这些数据. 达到这一要求的过程是先调用
MLCreateMark() 在第一次处理数据之前产生一个标记,再调用
MLSeekMark() 在重新处理数据时找出这些标记. 但不能忘记在这些数据处理完成后调用
MLDestroyMark(),否则
MathLink 将一直保存着它.
在执行一个外部函数的过程中中断
Mathematica 时,这一般就是放弃该外部函数的机会. 如果放弃,那么全局变量
MLAbort 在该外部程序内就被设为

.
MathLink 无法自动退出给定的外部函数调用. 所以,当一个函数运行时间很长时,应该经常检查
MLAbort,发现这个变量被设置后就从该函数返回.