3

高级编程语言(如 Java)如何实现异常处理?我的意思并不是说如何在一种语言中使用异常。我的意思是编译器如何生成我们识别为异常处理的代码(汇编或一些中间代码,如 Java 字节码),因为最终,计算机只能执行指令;更高级别的所有内容都必须由这些指令组成。

在 C 中,在异常存在之前,你会返回一个错误代码,但是如果一个函数已经返回了一些东西,那又如何呢?也许返回错误代码和真实结果的结构?

4

1 回答 1

2

编译器在 throw 站点输出一条athrow指令 ( JVM SpecificationExceptions ),并在方法的代码中输出一个属性 ( #4.7.5 ),显示所有各种 catch 子句的位置、它们涵盖的指令范围以及异常类型他们抓住了。

于 2013-04-17T01:08:52.253 回答