Каким образом обработка исключений реализуется языками программирования?

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

  1. Какой механизм используется языками программирования для реализации try {} catch {} блоки (под капотом)?
  2. Как именно складывать u nwinding внутри работает?
  3. В чем заключаются основные различия между реализациями try {} / catch {} между разными языками, такими как C ++ и Java? Они предлагают существенно различаются или они одинаковы?
  4. Метод перемотки стека setjump / longjump в C похож на блок try / throw / catch?
  5. Почему люди говорят, что «раскрутка стека» обходится дорого?
  6. ] Что такое SEH (структурированная обработка исключений?)
8
задан Dipan Mehta 4 November 2011 в 04:32
поделиться