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

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

0
nl ja de

1 ответы

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

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

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

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

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

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

2
добавлено