在try catch抛出异常后继续执行try中的代码 C#

有一种需求,那就是在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中代码的问题了
以上仅供参考


版权声明:本文为shaoyahu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。