处理Java中的权衡错误

时间:2011-09-15 22:00:50

标签: java performance error-handling tradeoff

有两种错误处理方式:

1)使用嵌套的If和check errors

2)使用try / catch

Here is tutorial about this。但据说here尝试/捕捉伤害了表现。所以,似乎有一个权衡。怎么决定?该怎么办?

4 个答案:

答案 0 :(得分:5)

如果你使用它们,例外会损害性能 。不要将它们用于必须一直出现的东西,它们很好。

基本上,当某些事情错误时,你应该使用例外 - 而且通常当出现问题时,性能并不是非常重要。另一方面,如果你必须手动进行所有错误检查, 错误的可能性会更高,IMO ......

答案 1 :(得分:0)

+1 Skeet先生的回答。我想补充一点,你的问题意味着一种或两种情况,但事实并非如此。

尝试/捕获只是一个性能问题,如果它是您处理错误的唯一方法。您还需要使用if / else来处理常见的已知案例。保存异常情况下的异常处理。

例如,您无法预测内存不足错误,网络连接断开或文件损坏。在这些情况下,你会使用try / catch。

答案 2 :(得分:0)

创建/运行应用程序时,您将始终遇到一些技术(网络,操作系统,操作系统)和功能错误 (即编程/用户)。

通常情况下,这些错误的处理应该包含在要求中(实际上并非在学术空间中)。 如有疑问,您应该询问客户或功能架构师。

你可以学习这个,但只要按照要求扔掉或吞下; - )。

答案 3 :(得分:-1)

我会说(premature) optimization is the root of all evil。因此,对于特殊行为,我总是选择try / catch!