Вот есть проект с выводом функций в C-стиле, т.е. без фишек С++. А значит exception-ов нет.
Вместо них — старые недобрые коды ошибок. Ну т.е. функция возвращает код ошибки, а если еще и результат нужен — то используются указатели в аргументах.
И вот что. Некоторые функции все-таки нарушают парадигму — возвращают bool (к примеру), а текст ошибки наоборот через указатель в аргументах.
И как то вижу в этом бардак. Либо везде четко должно быть — функция возвращает код+текст ошибки а все остальное только через указатели в аргументах. Либо же наоборот — возвращает результат а код ошибки в аргументах. Ну или пакетом.
Как вы предпочитаете, если проектируете самостоятельно?