История изменений
Исправление tailgunner, (текущая версия) :
Ну и толку от кодов возврата, если ни Rust, ни Go, которые специально отказались от исключений
Толк от кодов возврата в том, чтобы 1) у функции был ровно один канал возврата значений (проверяемый компилятором на общих основаниях) 2) обработка была единообразной (match вместо match и catch) 3) эффективности (возврат значений эффективнее запуска исключений).
Ну, и еще в идеологии: разделение возвращаемых значений на нормальные и исключительные - это одна из самых больших ошибок в истории языков программирования (но не говори, что я сказал такое).
вынуждены использовать паники? ;)))
Я не претендую на понимание того, как паника должна использоваться в современном Rust, но, ИМХО, это такой несмертельный assert - т.е. вещь для сигнализации о внутренних ошибках программы.
Исходная версия tailgunner, :
Ну и толку от кодов возврата, если ни Rust, ни Go, которые специально отказались от исключений
Толк от кодов возврата в том, чтобы 1) у функции был ровно один канал возврата значений (проверяемый компилятором на общих основаниях) 2) обработка была единообразной (match вместо match и catch) 3) эффективности (возврат значений эффективнее запуска исключений).
Ну, и еще в идеологии: разделение возвращаемых значений на нормальные и исключительные - это одна из самых больших ошибок в истории языков программирования (но не говори, что я сказал такое).
вынуждены использовать паники? ;)))
Я не претендую на понимание того, как паника должна использоваться в современном Rust, но, ИМХО, это такой несмертельный assert - т.е. вещь для отлавливания внутренних ошибок программы.