Возврат контекста выхода, который устанавливает указанный код ошибки.
basic_yield_context operator[](
boost::system::error_code & ec) const;
По умолчанию, когда контекст выхода используется с асинхронной операцией, код ошибки без успеха преобразуется в системную ошибку и выбрасывается. Этот оператор может быть использован для указания объекта error_code, который вместо этого должен быть установлен с результатом асинхронной операции. Например:
template <typename Handler>
void my_coroutine(basic_yield_context<Handler> yield)
{
...
std::size_t n = my_socket.async_read_some(buffer, yield[ec]);
if (ec)
{
}
...
}