Согласно документации, мы находим функциональный код commit(), описанный следующим образом:
Commits the current state of registers c4 (“persistent data”) and c5 (“actions”) so that the current execution is considered “successful” with the saved values, even if an exception is thrown later.https://docs.ton.org/develop/func/stdlib#commit
Описание может сбить с толку. Вот несколько вопросов, которые необходимо прояснить:
Что мы получим в виде исключения или ошибки, если мы уже зафиксировали код в смарт-контракте? * Почему нам нужно фиксировать данные или статус в коде смарт-контракта, даже если в конечном итоге это приведет к ошибке? * Каковы будут последствия, если смарт-контракт получит "статус неизвестной ошибки"?