-
Занятно сделано в Rust. Примерно как принято в Эрланге — не проматчилось — до свидания. Хотя в Эрланге можно, пусть и не особо принято, ловить ошибки и структурно.
Но уж если в Rust действительно есть опасения, что что-то внезапно долбанёт, то туши свет: stackoverflow.com
Согласен, вероятность невелика, если программировать, как учат, но когда отлов, например, деления на ноль (которого может и не произойти) требует запуска отдельного потока — вот это мощь %).♡ recommended by @O01eg
Replies (15)
-
@O01eg, Чтобы не эмулировать обработку исключений на лёгких тредах, которых как мне говорили недавно в Рже нет.
-
@ndtimofeev, try вообще ни о том. Он проверяет, что Maybe-выражение содержит результат и либо выдаёт результат наружу, либо возвращает из функции ошибку. Он никак с исключениями не связан.
-
@O01eg, На счёт ненужности ты погорячился. Проблема в том, что в том месте где можно обнаружить ошибку совершенно не ясно что с ней делать. А пропихивать её вверх по стеку вызовов руками в виде всяких Maybe или Either дорого даже для хаскеля.
-
@ndtimofeev, Не, не так злобно. Там функция в итоге тоже Maybe вернёт, а не программа гробанётся.
-
@qnikst, Опередил. Я как раз хотел проверить не то ли там о чём говорить в слух нельзя.
-
@ndtimofeev, Нет, не `>>=` ни разу. Всё гораздо императивнее. Это ж не функциональный язык всё-таки.
См. doc.rust-lang.org