首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

有关异常处理的问题

2014-01-26 
有关异常处理的问题如果在try中捕获到了异常,执行catch中的代码,我在catch中把错误解决了,然后这样才能返回

有关异常处理的问题

如果在try中捕获到了异常,执行catch中的代码,我在catch中把错误解决了,然后这样才能返回到try块中接着往下执行?
比如:
try
{
int i=0,j=9,k=0;
k=j/i;
System.out.println("k="+k);
}
catch(Exception e)
{
i=1;
}
怎么让程序再回到try中接着执行?

------解决方法--------------------------------------------------------
好像是不可能的。
------解决方法--------------------------------------------------------
唉……如果有goto,那么一切就将成为可能。
可是它被公认为是个坏家伙。
------解决方法--------------------------------------------------------
捕获到异常之后会直接跳动catch语句,然后顺序向下执行.
如果你有些非要执行不可的语句,可以放在finally 里执行.
try {
} catch (Exception e) {
} finally {
}
------解决方法--------------------------------------------------------
既然你已经是catch,说明程序已经丢出了异常,那怎么还可能返回呢?
------解决方法--------------------------------------------------------
这样好像不可能。

可以换个方式解决这个问题。

一个try中只写一行代码,多行代码放到多个try中。当然如果你的代码更本不会抛出异常,那就不用try了。
------解决方法--------------------------------------------------------
如果你一定需要的话,你可以使用以下的代码来实现:
public class test{
public static void main(String [] args){
boolean isOver=false;
int i=0,j=9,k=0;
do{
try{
k=j/i;
System.out.println("k="+k);
isOver=true;
}catch(Exception e){
i=1;
}
}while(isOver==false);

}
}


------解决方法--------------------------------------------------------
你看这样行不行

int i=0,j=9,k=0;
try
{
k=j/i;
}
catch(Exception e)
{
i=1;
}
System.out.println("k="+k);


------解决方法--------------------------------------------------------
这样也不行啊。

        

热点排行