Некоторые люди должны программировать в окружающей среде, где, по какой-либо причине исключения не позволены.
Есть также парадигмы программирования (такие как сетевое программирование, например), где ошибки не "исключительные события", а скорее вещи, которые ожидаются.
Некоторые части повышения (такие как Повышение. FileSystem, например), предлагают оба интерфейса.
Это позволяет программисту выбрать, как обработать ошибки.
Например (от Повышения. FileSystem):
void copy(const path& from, const path& to);
void copy(const path& from, const path& to, system::error_code& ec);
Если вы предпочитаете обрабатывать ошибки, ловя исключения, то, любой ценой, делают так.