gpt4 book ai didi

java - 关于try-catch的问题

转载 作者:行者123 更新时间:2023-12-01 06:58:06 25 4
gpt4 key购买 nike

我无法理解 try{} catch(Exception e){...} 的工作原理!

假设我有以下内容:

try
{
while(true)
{
coord = (Coordinate)is.readObject();//reading data from an input stream
}
}
catch(Exception e)
{
try{
is.close();
socket.close();
}
catch(Exception e1)
{
e1.printStackTrace();
}
}

第 2 部分

    try
{
is.close();
db.close();
}
catch(Exception e)
{
e.printStackTrace();
}

假设我的 while() 循环由于 is 流的异常而引发错误。

这将使我摆脱无限循环,并将我扔进第一个catch(){............} block 。

我的问题如下:

抛出异常后,退出循环while()并到达

catch(){ 
}

我的程序会继续执行并进入第 2 部分吗?只要捕获到异常就可以了?或者一切都以第一个 catch() 结束?

最佳答案

我认为您想在第一次 catch [catch (Exception e)] 后使用 finally 来关闭流:

try {
// Do foo with is and db
} catch (Exception e) {
// Do bar for exception handling
} finally {
try {
is.close();
db.close();
} catch (Exception e2) {
// gah!
}
}

关于java - 关于try-catch的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6268510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com