如何通过编程语言实现异常处理?

时间:2011-11-04 04:32:50

标签: exception compiler-construction

我希望深入了解编程语言如何实现异常处理以及它在内部的工作原理。我试着在下面的许多子问题中对此进行说明。

  1. 编程语言实现try的机制是什么 {} catch {}阻止(引擎盖下)?
  2. 堆栈展开是如何在内部进行的?
  3. C ++和Java等不同语言之间的try {} / catch {}实现之间的主要区别是什么?它们提供的差异是显着的还是相同的?
  4. C中的堆栈倒带的setjump / longjump方法类似于try / throw / catch块吗?
  5. 为什么人们说“堆叠展开”代价高昂?
  6. 究竟什么是SEH(结构化异常处理?)

1 个答案:

答案 0 :(得分:2)

这是对异常处理如何工作的一个很好的描述,https://gforge.inria.fr/frs/download.php/26600/PBE2-Exceptions-2010-03-02.pdf