Шрифт:
Г.3. Стандартные функции обработки ошибок
В этой книге мы определяем набор своих собственных функций для обработки ошибок. Причина, по который мы создаем эти функции, заключается в том, что они позволяют нам обрабатывать ошибки с помощью одной строки кода, как, например, показано ниже:
вместо
Наши функции обработки ошибок используют следующую возможность ANSI С: список аргументов может иметь переменную длину. Более подробную информацию об этом вы найдете в разделе 7.3 книги [68].
В табл. Г.1 показано, в чем заключаются различия между функциями обработки ошибок. Если глобальная целочисленная переменная
Таблица Г.1. Стандартные функции обработки ошибок
Функция | strerror (errno ?) | Завершение ? | Уровень syslog |
---|---|---|---|
err_dump | Да | abort; | LOG_ERR |
err_msg | Нет | return; | LOG_INFO |
err_quit | Нет | exit(1); | LOG_ERR |
err_ret | Да | return; | LOG_INFO |
err_sys | Да | exit(1); | LOG_ERR |
В листинге Г.3 показаны первые пять функций из табл. Г.1.
Листинг Г.3. Стандартные функции обработки ошибок