【发布时间】:2011-09-10 05:50:09
【问题描述】:
我无法理解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(){............}
块。
我的问题如下:
抛出异常后,跳出循环while(),到达
catch(){
}
我的程序会继续执行并进入第 2 部分吗?只要异常被捕获?还是一切都以第一个catch()结尾?
【问题讨论】:
-
是的,它将进入第二部分,您可以通过实验确认。还有别的吗?
-
实验这些东西几乎不需要一分钟。除非您正在阅读一本书并且不想在您的计算机上尝试它们。
-
当您知道要捕获哪种异常时,最好不要用 catch (Exception ex){} 块吃掉所有错误
标签: java android exception-handling try-catch