【发布时间】:2010-10-20 22:01:13
【问题描述】:
(throw Exception) 和 (return value) 如何用 Java 或 C# 等语言实现?我想知道它的支持如何包含在语言中的机制,而不仅仅是try { .... } catch (Exception) {}的用法。
我们知道什么时候调用一个函数,即
public void doSomething() {
....
....
return;
}
然后on调用被放入栈中,当方法返回时调用栈上的doSomething弹出。
在 return 语句返回一个值的情况下会发生什么,比如return 4;,
堆栈上对doSomething() 的调用弹出,Prog 计数器上的下一条语句得到处理?返回值发生了什么?它在哪里保存以及如何使用?
同样在抛出异常的情况下,throw ex; 语句会在堆栈上找到适当的 catch 语句,直到找到它,它才会不断地从堆栈中弹出东西......这个机制是如何工作的?
【问题讨论】:
-
如果您将其编辑为 2 个不同的问题可能会很有用
-
你只是编辑你的问题,现在完全不同了。
-
抱歉,我认为这需要更多详细说明。