|
1
3
Joshua Bloch在“高效Java”中总结道:
你可以在谷歌图书上找到这本书的相应片段(“第57项:仅在特殊情况下使用例外”)。 除了异常滥用可能导致难以理解的代码之外,Bloch还有一些对当今JVM实现有效的原因:
在(Hotspot)JVM的情况下,创建一个异常是非常昂贵的(想想生成的stacktrace)。 |
![]() |
2
1
来自.Net Framework Development Guidelines : 如果可能的话,不要对正常的控制流程使用例外情况。 除了系统故障和具有潜在竞争条件的操作外,框架设计者应该设计API,以便用户可以编写不引发异常的代码。例如,您可以提供一种在调用成员之前检查先决条件的方法,这样用户就可以编写不引发异常的代码。 用于检查另一个成员的前提条件的成员通常被称为测试人员,而实际完成工作的成员被称为实干家。 在某些情况下,Tester-Doer模式可能会产生不可接受的性能开销。在这种情况下,应该考虑所谓的Try-Parse模式(有关更多信息,请参阅异常和性能)。 |
|
3
0
使用异常通常会导致更高的开销,滥用它们可能会降低应用程序的速度。什么都没有 异常 关于在查询中找不到记录,所以我肯定建议返回null。 所以不,对正常的控制流使用异常不是一个好的做法。 |
![]() |
user3216514 · WebSocket和可扩展性 7 年前 |
![]() |
greg · 如何检测多核可扩展性/争用问题 7 年前 |
![]() |
Sonam · rabbit mq的缩放 8 年前 |
![]() |
Kevin Cohen · neo4j获取新节点列表(更改提要) 8 年前 |
![]() |
coolk · rdbms的自动保存性能 8 年前 |
![]() |
Leonardo · 线程池。将线程设置为预热策略 8 年前 |
![]() |
stojsins · CSS可扩展性图像映射 10 年前 |
![]() |
fstab · 对正常控制流程使用例外情况是一种不鼓励还是不鼓励的做法? 12 年前 |