mather 子例程

用途

数学错误处理函数。

System V 数学库 (libmsaa.a)

语法

#include <math.h>
int matherr (x)
struct exception *x;

描述

当检测到错误时,数学库例程调用 马瑟尔 子例程。

您可以使用 马瑟尔 或定义自己的过程来处理错误,方法是创建一个名为 matherr在你的节目中 此类由用户设计的函数必须遵循与 马瑟尔河 相同的语法 当发生错误时,指向异常结构的指针将传递给用户提供的matherr功能。 此结构在 math.h 文件中定义,包括:

int type;
char *name;
double arg1, arg2, retval;

参数

描述
TYPE 指定一个整数,用于描述 math.h 文件定义的以下列表中发生的错误类型:
参数域错误
SING
自变量奇异性
溢出
溢出范围错误
UNDerflow
下溢范围错误
TLOSS
重大损失共计
PLOSS
部分失去意义。
名称 指向一个字符串,该字符串包含导致错误的例程的名称。
arg1 指向调用例程时所使用的第一个参数。
arg2 指向调用例程时使用的第二个参数。
雷特瓦尔 指定例程所返回的缺省值,除非用户的 马瑟尔 函数将其设置为另一个值。

返回值

如果用户的 马瑟尔 函数返回非零值,那么不会显示任何错误消息,并且将不会设置 错误号 全局变量。

错误代码

如果用户未提供函数 马瑟尔 ,那么在发生错误时将调用缺省错误处理过程 (使用所涉及的数学库例程进行描述)。 在每种情况下, 错误号 全局变量都设置为 EDOMERANGE ,并且程序继续运行。