在 Delphi 中,我有一个例程层次结构。例程“A”调用“B”,“B”调用“C”,“C”调用“D”。 “D”做了一些检查,它遇到了某种类型的错误,可能是异常,也可能只是逻辑错误。无论如何,当“D”遇到错误时,是否可以将控制权传递回“A”,而无需“D”返回“失败”代码,“C”检查该代码,“C”返回失败代码,“B”返回失败代码' 检查等等...?
最佳答案
有两种方法可以满足您的需求:
- 返回错误/状态代码,并让调用堆栈上的每个函数检查该代码。
- 提出异常并在高层处理它。
您不想使用选项 1,因此只剩下选项 2。
关于Delphi如何在错误时退出到顶级例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15361597/