TGViewer
S0ER S0ER @softwareengineervlog · 10.4K subscribers
Post #1860 11.3K
Долгое время понятие "исключения" относилось к аппаратным прерываниям, которые возникали на аппаратном уровне. Затем появились программные исключения, которые создавались и резолвились самими программистами, на уровне приложения.

Для этого использовались try/catch/finnaly методы.

Интересно, что механизмы исключений в разных языках работают похожим образом - это дополнительные программные абстракции, которые управляют потоком управления программы.

Технически это просто вызов специальных методов (throw, raise и т.д.), которые затем расскручивают стек в поисках обработчика (catch).

Концепция (не реализация, а именно концепция) невероятно сложная, так как "исключение" обладает как сложной семантикой, так и сильно усложняет логику программы (по сути мы должны исходить из мысли, что каждый оператор - это последний оператор, а далее может быть exception). Поэтому многие программисты критикуют подходы, использующие исключения.

Очень часто исключения упрощают до набора простых правил, из-за которых теряется значительная часть семантики. Это приводит к тому, что исключения выбрасывают в любом удобном и неудобном случае.

Вот статейка про то как работают исключения в C++, по сути ничего "исключительного" (кроме семантики), в обработке исключений на уровне языка, нет. https://habr.com/ru/articles/279111/
  • 👍 40
  • ❤ 5
  • 🤡 1
More from @softwareengineervlog
  1. Sep 3, 2026Google выпустила Gemini 3.8 Flash — новая быстрая модель уже обходит гигантов в кодинге. П…
  2. Sep 3, 2026Сейчас использую DeesSeek v4 Flash, на готовой кодовой базе решать стандартные таски из тр…
  3. Aug 6, 2026Полезное: разраб сделал интерактивный мануал, который по шагам показывает, что происходит…
  4. Aug 5, 2026Ты ненастоящий программист! Это происходит снова и снова, и каждый раз одинаково. Я начал…
  5. Jul 27, 2026Внимание, скам! Появился бот который выдает себя за бота моего канала. Я НИЧЕГО ЧЕРЕЗ БОТО…
  6. Jul 25, 2026У Сбера есть интересный whitepaper где он описывает технологию разработки продукта с помощ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →