相关疑难解决方法(0)

在finally块中抛出异常会导致性能问题吗?

在Rational Application Developer(基于eclipse的RAD)中,在软件分析器下,我看到一个代码审查注释(在Performance => Memory部分下),说"避免最终的throw语句".

如何在finally块中定义throw会影响性能?

在此输入图像描述

这是代码片段,我们已经建议更改代码以记录异常跟踪并且不抛出异常,

     } finally {
        if (bufferedReader != null) {
            try {
                bufferedReader.close();
            } catch (final IOException ex) {
                throw ex;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我只是想知道这会如何影响内存和性能?

java performance exception-handling exception

13
推荐指数
2
解决办法
3141
查看次数

显式归零

在什么情况下java中显式nulling有用.它是否以任何方式通过使对象无法访问或某些东西来帮助垃圾收集器?它被认为是一种好习惯吗?

java

9
推荐指数
4
解决办法
2021
查看次数

如果在finally块中抛出异常,最终是否完全执行

所以我在这里有一些代码,我不确定如果reader.close()方法抛出异常,它会如何反应.

public void someMethod(String s) throws IOException{
   BufferedReader reader = Files.newBufferedReader(filePath,cs);
   listRWLock.readLock().lock();
   try{
     //miscellaneous code involving reading
   }finally{
     reader.close()
     listRWLock.readLock().unlock()
   }
}
Run Code Online (Sandbox Code Playgroud)

ListRWLock是一个ReentrantReadWriteLock.如果reader.close()方法抛出异常,那么它之后的语句是否会无法执行?我已经尝试搜索这个主题了,虽然我已经得到了一些关于在return语句中最终执行的东西,但是我还没有设法找到如果在finally块中抛出异常会发生什么的细节.

提前致谢.

java exception finally bufferedreader

9
推荐指数
1
解决办法
2764
查看次数

try catch和finally块的执行顺序

我对try,catch和finally执行的顺序感到很困惑.

我也想知道我应该何时使用try catch块以及我应该在try catch块中放置什么,我还想知道是否有一些异常出现在try块中然后如果对应于try块采取了一个动作然后执行哪一个第一次捕获或最后(总是要执行),并且在执行这两个之后确实控制返回尝试阻止或者它永远放弃它.

c#

6
推荐指数
2
解决办法
1万
查看次数

eclipse要求我在finally块中使用try/catch包围 - 可以禁用它吗?

在我的一个Java应用程序代码中,我有一个try-catch-finally块,其中try块创建一些输入和输出流,如果出现问题,我将关闭任何先前打开的流finally.

finally
{
    if(inputStream != null)
        inputStream.close();
    if(outputStream != null)
        outputStream.close();
}
Run Code Online (Sandbox Code Playgroud)

但是<stream>.close()Eclipse中的这行显示了该行代码中的"Unhandled exception IOException"错误,并显示该解决方案是try/catchfinally块中包含另一个,这似乎是编程实践中的坏事,我不想在finally块中.

我的问题是:是否有可能在Eclipse中删除此错误并try/catch仅在我需要它时使用而不是eclipse告诉我进行try/catch添加.(因为我已经开始尝试通过更换以避免异常try/catchif/else越好).

java eclipse

4
推荐指数
2
解决办法
6947
查看次数

尝试,捕捉,最后执行

可能重复:
在finally块中抛出异常

  • 只有在try块中抛出异常时才会执行catch块.

  • 如果抛出异常,则始终在try(-catch)块之后执行finally块.

我的问题是,如果我在finally块中得到Exception而不是如何处理它?????

java try-catch try-finally

4
推荐指数
1
解决办法
293
查看次数