send_message может внутри ждать и убеждаться в доставке, это не важно
Я немного о другом, ждёт-то он асинхронно? Если да, то куда и кому он бросит исключение? Я действительно не знаю, как правильно готовить исключения, на практике я видел лишь плохие примеры их применения. Но видел Qt, который практически нигде и ничего не бросает, работать оказалось куда комфортнее
Тут, кажется, кроме личного выбора ничего больше нет, ибо нет серебрянной пули в данном вопросе, я считаю, что оба способа имеют недостатки, но с недостатками возвращаемых значений мне мириться проще. Возможно, мне просто ближе стиль ФП, так что продолжать спор не буду