Код на скриншоте показывает, что каждая функция добавляет свой контекст, и в итоге при падении мы видим полную цепочку причин, а не просто финальную ошибку.
Что происходит:
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
👍24❤7🥰2😢1
🌟 Stelliberty: Кроссплатформенный клиент Clash на Flutter и Rust
Stelliberty предлагает современный интерфейс с уникальным дизайном MD3M. Приложение поддерживает управление подписками и мониторинг трафика, обеспечивая высокую производительность благодаря Rust. Поддержка нескольких языков и интеграция с Windows делают его удобным для пользователей.
🚀Основные моменты:
- 🎨 Уникальный дизайн на основе Material Design 3
- 🦀 Высокопроизводительный бэкенд на Rust
- 🌐 Многоязычная поддержка
- 🔧 Полное управление подписками
- 📊 Реальное время мониторинга трафика
📌 GitHub: https://github.com/Kindness-Kismet/Stelliberty
#rust
Stelliberty предлагает современный интерфейс с уникальным дизайном MD3M. Приложение поддерживает управление подписками и мониторинг трафика, обеспечивая высокую производительность благодаря Rust. Поддержка нескольких языков и интеграция с Windows делают его удобным для пользователей.
🚀Основные моменты:
- 🎨 Уникальный дизайн на основе Material Design 3
- 🦀 Высокопроизводительный бэкенд на Rust
- 🌐 Многоязычная поддержка
- 🔧 Полное управление подписками
- 📊 Реальное время мониторинга трафика
📌 GitHub: https://github.com/Kindness-Kismet/Stelliberty
#rust
GitHub
GitHub - Kindness-Kismet/Stelliberty: A modern client built with Flutter and Rust, powered by Mihomo
A modern client built with Flutter and Rust, powered by Mihomo - Kindness-Kismet/Stelliberty
🔥4❤2👍1🥰1