有一种需求,那就是在try{}catch{}中,抛出了异常但是还是需要继续执行try中的代码,如何解决?
在网上浏览了一番之后,发现最合适的办法就是在外面套一层while判断
protected int num = 0;//声明一个变量用来保存执行try中代码产生的变化
protected void fun(){
while(true){//目前暂时使用true来保证抛出异常后还能继续执行
try{
for(int i=1;i<10;i++){
num++;//每次执行代码变化的部分,此处为num的值
if(i%2 != 0) throw new Exception(i+"除不尽");
}
}
catch(Exception ex){
//随便处理一下
}
}
}
那么如何处理这个true的变化呢
取决于你try中的执行有无达到要求,另外写一个方法来控制
protected Boolean CheckNum(){
if(num > 5) return false;
return true;
}
这样一来,上面方法中while的判断就可以改为使用该方法了
protected int num = 0;//声明一个变量用来保存执行try中代码产生的变化
protected void fun(){
while(CheckNum()){//现在使用check()方法来判断是否继续执行
try{
for(int i=1;i<10;i++){
num++;//每次执行代码变化的部分,此处为num的值
if(i%2 != 0) throw new Exception(i+"除不尽");
}
}
catch(Exception ex){
//随便处理一下
}
}
}
这样一来,就可以解决抛出异常继续执行try中代码的问题了
以上仅供参考