LINUX.ORG.RU

врапперы для библиотечных функций по Стивенсу


0

0

Читаю Стивенса. Он почти всегда (за исключением редких случаев) для стандартных библиотечных функций пользует врапперы для обработки ошибок с теми же параметрами, которые свиду отличаются только строчной буквой в начале. То есть имеем функцию int anyfunc(int param1, int param2), которая может вернуть код ошибки либо 0. Для неё пишется враппер 
int Anyfunc(int param1, int param2) {
    int errcode;
    if ( (errcode = anyfunc(param1, param2)) != 0) {
        // обработка ошибки в зависимости от условий, 
        // выраженных в глобальных переменных
        // (писать в stdout или в syslog и т.д.)
        ... 
    }
    ...
}

Часто ли вы используете подобную методику при написании программ?


anonymous

ну например xmalloc и xfree можно встретить много где,
а вообще использование подобной методики, зависит от стратегии востановления при ошибках, т.е. от дизайна программы, так что
твой вопрос лишен смысла.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.