术语 - 例外
Posted
技术标签:
【中文标题】术语 - 例外【英文标题】:Terminology - exception 【发布时间】:2016-09-22 19:37:55 【问题描述】:在编程中,异常总是错误(除以零、访问冲突……)吗?
如果没有,您能否提供不是错误的异常示例?
谢谢。
【问题讨论】:
编程问题在这里是题外话;迁移到Stack Overflow。 异常并不总是错误;一个例子是 Python 的 StopIteration 异常,当迭代器无法产生任何进一步的值时会引发该异常。 【参考方案1】:异常通常用于管理错误,它们使错误处理更容易,但它们并不总是错误。
每个需要单独代码路径的异常情况都可能成为异常的候选者。
虽然在控制流中使用异常可能会令人困惑(很大程度上取决于语言),但它们可以用来跳出循环。
有时您可以使用异常来检查字符串是否包含值或文件是否存在。
您可以使用异常来协作终止线程。
您还应该考虑到不同的语言对于何时应该抛出异常有不同的约定(例如 Python > C++ > Objective C)。
目标 C 是an extreme:
当您使用 Objective-C 编写代码时,异常仅用于程序员错误
(ios 开发者库 - 处理错误)
但这不是常态。
【讨论】:
请不要在这里回答离题的问题;而是投票或标记迁移并在适当的站点上回答。【参考方案2】:错误是 Throwable 的子类,表示合理的应用程序不应尝试捕获的严重问题。大多数此类错误都是异常情况。
check here
【讨论】:
以上是关于术语 - 例外的主要内容,如果未能解决你的问题,请参考以下文章