在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中代码的问题了
以上仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值