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); }