【发布时间】:2011-03-14 01:15:45
【问题描述】:
【问题讨论】:
-
除了 java 之外,还有很多其他语言有这种强制措施吗?我想不出太多。我认为java可能是这个奇怪的人。并不是说那很糟糕......
标签: .net exception enforcement
【问题讨论】:
标签: .net exception enforcement
我建议阅读The Trouble with Checked Exceptions,其中首席 C# 架构师 Anders Hejlsberg 与 Bruce Eckel 和 Bill Venners 讨论了受检查异常的版本可扩展性和可伸缩性问题。
【讨论】:
有时您不想立即在其发生的方法中处理异常。
有时您无能为力。
例如,如果您正在从数据库中检索数据,并且在检索数据时出现问题,则数据访问层可能不是处理该问题的最佳位置。让异常冒泡到业务逻辑层或表示层可能会更好,在那里可以向用户显示适当的信息。
在 .Net 中,一般方法是仅在您可以对其采取措施时才处理异常。通常,您所能做的就是向用户提供有用的信息。
【讨论】:
Java 中的此功能称为检查异常。 C# 的创建者 Anders 进行了一次采访,他详细解释了为什么它们没有被包含在 C# 和 VB.Net 中
我因此说 VB.Net,因为如果 C# 和 CLR 都没有包含检查异常,那么 VB.Net 也没有理由包含它们。 VB 已经从一个不包含异常的模型进行了大规模的转变。引入一个与 CLR 的其余部分完全不同的新异常模型将无效,造成用户混淆并导致更多的跨语言兼容性问题
【讨论】: