Rust быстро набирает популярность благодаря безопасности, скорости и удобству параллелизма. Но лучший способ понять язык — написать несколько работающих программ.
В этой статье собраны минимальные, но полезные примеры, которые помогут почувствовать Rust в деле: работа с переменными, структурами, ошибками, коллекциями и файлами.
https://uproger.com/prakticheskoe-znakomstvo-s-rust-20-gotovyh-programm-s-obyasneniem/
#junior
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍4❤3🤬2🤗2🥰1🥱1🖕1
Код на скриншоте показывает, что каждая функция добавляет свой контекст, и в итоге при падении мы видим полную цепочку причин, а не просто финальную ошибку.
Что происходит:
hello0 выбрасывает ошибку с текстом "!!!!!".
hello1 вызывает hello0 и добавляет свой контекст "world".
hello2 вызывает hello1 и добавляет контекст "hello".
main вызывает hello2 и при ошибке печатает весь стек причин.
Что такое цепочка причин:
Это последовательность контекстов, которые добавлялись на каждом уровне вызовов.
Благодаря этому видно не только то, что сломалось, но и где именно.
Каждый уровень в стеке — это подсказка:
какая функция работала,
какой контекст она добавила,
и что пошло не так в конечном итоге.
Вывод при запуске:
hello
Caused by:
0: world
1: !!!!!
Как это читать:
Сверху -контекст "hello".
Под ним - контекст другой функции "world".
А внизу - исходная причина ошибки "!!!!!".
Такой подход делает отладку проще:
видно весь маршрут ошибки — от места падения до верхнего уровня.
#rust #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤5🥰1😢1