我是编程新手,想知道如果在try块中没有抛出异常,try / catch会影响性能吗?
答案 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块。无偿使用例外是你失去表现的地方"