如果在try块中没有抛出异常,try / catch会影响性能吗?

时间:2017-03-24 22:10:01

标签: try-catch

我是编程新手,想知道如果在try块中没有抛出异常,try / catch会影响性能吗?

3 个答案:

答案 0 :(得分:2)

不,它没有。

因为如果没有异常发生就不会执行catch块,因此它不会影响性能。

所以考虑我有这段代码:

try {
    Integer.parseInt("123");
} catch (NumberFormatException e) {
    while (true) {
        System.out.println("Error");
    }
}

catch块运行一个无限循环,所以这会影响性能,但是当这种情况发生时?它发生如果数字不是一个整数它会抛出一个异常,所以它可以执行catch块,在这种情况下它会影响性能。

答案 1 :(得分:0)

需要运行一些设置代码,例如。在Java中,try块将自身安装到一个特殊的表中(如果抛出异常,JVM会查看它),但这应该是无关紧要的。期望是当没有抛出异常时,try / except没有开销。

答案 2 :(得分:0)

是的,Try-Catch会影响您的表现。

有关详细信息,请查看this链接(来自MSDN)。

该链接很有帮助,但其关于异常的内容与您的"是"相反。答案。

  

"找到并设计出异常繁重的代码可以带来不错的性能。请记住,这与try / catch块无关:只有在抛出实际异常时才会产生成本。您可以根据需要使用尽可能多的try / catch块。无偿使用例外是你失去表现的地方"