【发布时间】:2014-02-14 20:23:53
【问题描述】:
我在家庭作业中遇到了这个问题(别担心,已经完成了):
[使用你最喜欢的命令式语言,举一个例子 每个 ...] 编译器既不能捕获也不能轻松生成代码的错误 catch (这应该是违反语言定义的,而不仅仅是 程序错误)
来自“编程语言语用学”(第 3 版)Michael L. Scott
我的回答是,通过传入相同的参数(在 C 和 Java 中)从 main 调用 main,灵感来自 this。但我个人觉得这只是一个语义错误。
对我来说,这个问题是在问如何产生一个既不是句法也不是语义的错误,坦率地说,我真的想不出它不会落入的情况。
会不会是容易被利用的代码,比如缓冲区溢出(可能还有其他我从未听说过的利用)?语言结构中的某种坑(IDK,但惰性评估/弱类型检查)?我想要一个 Java/C++/C 中的简单示例,但欢迎使用其他示例。
【问题讨论】:
-
在 Java 中,几乎所有错误都由异常发出信号。
-
这个问题似乎是题外话,因为它属于programmers.stackexchange.com
标签: java c++ c syntax semantics