请参阅下面的伪代码方法。如果对readUrls()
的调用抛出异常,那是不是意味着closeConnection()
将不会被执行,程序流将返回到调用getdata()
的方法?
由于
getdata() throws Exception
{
setup();
readUrls();
closeConnection();
}
答案 0 :(得分:9)
你的假设是正确的。为避免这种情况,您可以执行以下操作:
getdata() throws Exception
{
setup();
try {
readUrls();
} finally {
closeConnection();
}
}
答案 1 :(得分:2)
是的,如果readUrls()
抛出异常,流将返回调用getdata()
的方法,在那里会发生同样的事情,直到:
catch
块,处理异常run
方法。答案 2 :(得分:2)
抛出异常时,当前方法调用会中断并立即返回。使用try-catch-finally模式关闭连接(在finally语句中使用closeConnection()))
答案 3 :(得分:1)
这取决于您是否在readUrls()
中没有处理异常,那么您所说的是正确的。这意味着您在try...catch
方法中没有readUrls()
。