А как же compile-time проверки благодаря этому? Типа, если функция возвращает Result, то ты обязан либо обработать ошибочную ситуацию, либо явно согласится на панику.
С исключениями нигде никаких гарантий нет (C++, Python). А то, что функция может ошибиться, никак не закреплено в коде (в сигнатуре функции, в ее вызове, в системе типов)