Статья
Обработка ошибок, контракты и отказоустойчивое мышление
Как отличить баг от ожидаемого исхода, зачем нужны предусловия и инварианты, чем исключения отличаются от result-типов, и как таймауты, ретраи, идемпотентность и circuit …