Используя повышение, почему я должен взять ошибку параметром?

Я использую повышение, и я заметил, что оно перегрузило много методов, чтобы использовать ошибку в качестве параметра. Если я знаю бросок, ошибка - лучший подход, почему я должен использовать параметр, чтобы знать исключение?

Некоторые люди должны программировать в окружающей среде, где, по какой-либо причине исключения не позволены.

Есть также парадигмы программирования (такие как сетевое программирование, например), где ошибки не "исключительные события", а скорее вещи, которые ожидаются.

Некоторые части повышения (такие как Повышение. FileSystem, например), предлагают оба интерфейса.
Это позволяет программисту выбрать, как обработать ошибки.

Например (от Повышения. FileSystem):

```
void copy(const path& from, const path& to);
void copy(const path& from, const path& to, system::error_code& ec);

```

Если вы предпочитаете обрабатывать ошибки, ловя исключения, то, любой ценой, делают так.