c# 错误和异常处理

1.c#中的异常处理使用try-catch-finally机制来实现异常处理,需要注意的是return语句对于异常处理流程的影响。如果return语句是在try

语句块中的话,finally语句块中的代码段是会执行的,但是如果在try代码段中出现exit时,下面的finally是不会执行的,原因就是整个的虚拟

机已经退出了。

 

2.在c#中如果有多个的异常需要捕获,例如

try

{

throw new Exp1();

throw new Exp2();

}

catch ???

这是在c#的机制(java和c#是相同的)需要首先将最具体的异常类先捕获,然后才是比它稍微抽象的异常类。

 

3.c#语言中的checked关键字和unchecked关键字,首先这两个关键字都是为了防止在程序的编写中的数字的溢出而产生的,check代码块

或者是一条语句内部如果有那个运算过程中出现了异常的话,直接throw OverflowException,与check相反得是unchecked,

unchecked代码块中或者是一条语句中,所有的运算时不检查是否产生溢出的。下面是两个实例

 

            int maxInt = int.MaxValue;

 

//             unchecked

//             {

//                 maxInt++;

//                 Console.Write("can excute here/n");

//             }

 

            checked

            {

                maxInt++;   // throw exception

                Console.Write("can not execute here/n");

            }

 

            Console.ReadKey();

4.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值