繁体   English   中英

何时抛出 java 异常

[英]When is a java exception thrown

请参阅下面的伪代码方法。 如果调用readUrls()抛出异常,是不是意味着closeConnection()不会被执行,程序流会返回到调用getdata()的方法?

谢谢

getdata() throws Exception
{
     setup();
     readUrls();
     closeConnection();
}

你的假设是正确的。 为避免这种情况,您可以执行以下操作:

getdata() throws Exception
{
    setup();
    try { 
        readUrls();
    } finally {
        closeConnection();
    }
}

是的,如果readUrls()抛出异常,流程将返回到调用getdata()的方法,同样的事情也会发生,直到:

  • 有一个catch块,处理异常
  • 异常冒泡到主方法/线程的run方法。

当抛出异常时,当前方法调用被中断并立即返回。 使用 try-catch-finally 模式关闭连接(在 finally 语句中使用 closeConnection())

这取决于您是否没有在readUrls()中处理异常,那么是的,您所说的是正确的。 这意味着您在readUrls()方法中没有try...catch

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM