我在尝试使用资源时遇到问题,我要求确定一下.我是否可以使用它,如果我需要对异常做出反应,我仍然需要catch块中的资源?给出的例子如下:
try (java.sql.Connection con = createConnection())
{
con.setAutoCommit(false);
Statement stm = con.createStatement();
stm.execute(someQuery); // causes SQLException
}
catch(SQLException ex)
{
con.rollback();
// do other stuff
}
Run Code Online (Sandbox Code Playgroud)
我担心在这种情况下,我仍然注定要使用旧的try-catch-finally,即使根据oracle文档 - "在try-with-resources语句中捕获并最终阻塞,任何catch或finally块都在资源之后运行声明已关闭."
情况:
题:
这不是一个实施问题.每当我从Eclipse启动应用程序时,我都可以看到正在进行的标签行"启动:启动委托",冻结了62%.我试图描述日食,我可以看到大部分时间都花在这里
16,6% - 21 635 ms - 37 hot spot inv. org.eclipse.m2e.jdt.IClasspathManager.getClasspath
16,6% - 21 635 ms - 37 hot spot inv. org.sonatype.tycho.m2e.internal.launching.PDEBundleClasspathResolver.resolveMavenClasspath
16,6% - 21 635 ms - 37 hot spot inv. org.sonatype.tycho.m2e.internal.launching.PDEBundleClasspathResolver.getAdditionalClasspathEntries
16,6% - 21 635 ms - 37 hot spot inv. org.eclipse.core.internal.jobs.Worker.run
Run Code Online (Sandbox Code Playgroud)
迁移到Java 8和Eclipse Mars之后,我开始遇到这个"问题"(这更不方便).Maven安装保持不变.
有没有人遇到过这个问题并解决了吗?我花了几个小时谷歌搜索没有积极的结果.感谢您提前回答
我遇到了由Maven构建的基于RCP的大型服务器/客户端桌面应用程序的这个问题."启动代理......"将客户端启动延迟了大约两分钟,开始时非常烦人