История изменений
Исправление nikitos, (текущая версия) :
Так тут вопрос дизайна (или понимания архитектором контекста в котором возникает ошибка): а) ошибка (состояние ошибки) связано с одной единственной функцией, б) с целой подсистемой (семейством функций). Понятно, что для случая а) достаточно и bool, но тогда при написании всяких обработчиков нужно их плодить разными на каждую прихоть дизайнера ошибок. В случае же системного подхода к обработке ошибок - возникают коды состояний и единообразная схема работы с ними (как правило - конечный автомат).
Исходная версия nikitos, :
Так тут вопрос дизайна (или понимания архитектором контекста в котором возникает ошибка): а) ошибка (состояние ошибки) связано с одной единственной функцией, б) с целой подсистемой (семейством функций). Понятно, что для случая а) достаточно и bool, но тогда при написании всяких обработчиков нужно их плодить разными на каждую прихоть дизайнера ошибок. В случае же системного подхода к обработке ошибок - возникают коды состояний и единообразная схема работы с ними.