0

异常处理是关于将控制从被调用例程转移到调用例程还是关于抛出消息?

4

4 回答 4

1

异常处理是关于处理异常。

如果您希望程序优雅地崩溃,或者如果您的程序做了很多事情并且您不希望它因为一个非关键操作失败而停止,这很有用。

您通常希望以某种方式记录或显示您的异常,因此当您的程序失败时您至少有一个堆栈跟踪。

于 2013-04-29T16:33:09.210 回答
1

异常处理是一个通用术语,它是非常不言自明的。它描述了用于处理操作期间可能发生的异常情况又称为“异常”的任何代码。

至于您转移控制权或抛出消息的问题,完全取决于语言。并非所有语言都允许抛出异常,因此该部分仅取决于您使用的技术。

于 2013-04-29T16:34:26.273 回答
1

我相信这个问题的正确答案是“是”——它允许你向调用者发送一条消息,上面写着“我遇到了错误/异常情况;你现在可以做点什么”。

于 2013-04-29T16:34:40.173 回答
0

异常处理是关于捕获产生异常的错误并做出适当的反应。

抛出异常是一种技术,它允许有关异常的信息和处理异常的责任返回给调用函数。这是说函数中发生了一些事情,在完成函数的预期操作时无法恢复。

可以通过抛出异常在函数内处理异常,因此它们也可以组合。

于 2013-04-29T16:36:59.280 回答