CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
matherr - обработка ошибки математической функции
Описание
matherr вызывается при обнаружении ошибки функциями
math библиотеки. Пользователь может использовать биб-
лиотечный вариант этой функции или определить собстве-
нную одноименную процедуру в своей программе. Указа-
тель на структуру exception должен поступать в проце-
дуру пользователя, берущую обработку ошибки на себя.
Использование
#include <math.h>
int matherr(struct exception *e);
Возвращаемое значение
Возвращение 0 означает, что ошибка обработана правиль-
но, 1 означает, что ошибка не может быть обработана.
Пример
#include <stdio.h>
#include <math.h>
#include <string.h>
main()
{
printf("log(-1) = %e\n", log(-1));
}
int matherr(x)
struct exception *x;
{
if (x -> type == DOMAIN)
{
if (strcmp(x -> name, "log")==0)
{
x -> retval = log(-(x -> arg1));
return(1);
}
}
return(0);
}
