java - try-catch 区域对性能有什么影响?

标签 java performance exception

try/catch 的小区域性能是否优于大区域,还是没有差异?

小面积

try{
    // the line needs exception handling
} catch( Exception e) {

  }

广域

try{
    // the line needs exception handling
    // other lines of code
} catch( Exception e) {

  }

最佳答案

自 Java 1 或 2 以来,在 Java 中输入 try block 没有任何显着的性能成本(如果是的话,我不太记得了,那是很久以前的事了)。当异常被抛出时(这很好,它们是针对特殊情况,而不是正常情况),它(有点)代价高昂,但进入try block 是便宜的。因此,从代码中正常流程的性能角度来看,使用几个小的还是几个大的并不重要。

异常的要点和目标是允许您将异常处理移出主代码的方式,这在非性能方面主张更大的 block 而不是更小的 block 。但是,如果您保持方法简短(这是一项关键的代码质量/可维护性衡量标准),那么一个异常 block (如果您根本需要一个)就可以覆盖几乎所有的方法而不会很大。

关于java - try-catch 区域对性能有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27223946/

相关文章:

java - 为什么Byte Buddy缺少与操作码ASTORE对应的StackManipulation实现?

java - 使用 Java POI API 将 PDF 文件插入 MSWord

java - Gmail 联系人 API 限制解决方法

javascript - 为什么删除元素比添加元素花费更多时间?

c++ - catch block 中的函数抛出异常

java - TCP。即使服务器不接受客户端也会连接

javascript - 在 CodeIgniter 中将 javascript 移动到底部的策略?

iphone - 在编译时识别 iDevices,最佳实践

c - 在 C 中是否有调用堆栈转储的函数?

java - "throws"与方法名称和捕获异常有什么区别?