c#基础学习(0719)之异常处理

异常处理的一般代码模式

try
            {
                //可能发生异常的代码
                //当try中某行代码发生异常后,从该行代码开始,后面的代码都不会继续执行,
                //程序直接跳转到catch块中进行执行
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);//可以看到异常的原因
                //对异常的处理
                throw;//继续向上抛出异常
            }
            finally
            {
                //不管是否发生异常都会执行
            }

atch块的几种写法

            try
            {
                int n = 10, m = 0;
                int r = n / m;
                Console.WriteLine(r);
            }
            ////第一种:这种写法可以捕获try块中的所有异常
            //catch 
            //{
            //    Console.WriteLine("发生一场了!");
            //    //throw;
            //}
            ////第二种:
            //catch(Exception ex)
            //{
            //    Console.WriteLine("发生异常了!");
            //    Console.WriteLine(ex.Message);//发生异常的消息
            //    Console.WriteLine(ex.Source);//那个对象中发生异常
            //    Console.WriteLine(ex.StackTrace);//异常相关信息(那个位置第几行第几列)
            //}
            //第三种:对不同的异常,使用不同的方式开处理(使用多个不同的catch块来捕获异常)
            catch(NullReferenceException e)
            {
                //空指针异常
                Console.WriteLine("空指针异常:{0}",e.Message);
            }
            catch(DivideByZeroException e)
            {
                //除数为0的异常
                Console.WriteLine("除数为0的异常,详细信息:{0}",e.StackTrace);
            }
            catch(ArgumentException e)
            {
                //参数异常
                Console.WriteLine("参数异常,详细信息:{0}",e.StackTrace);
            }
            catch(Exception e)
            {
                //捕获其余所有的异常
                Console.WriteLine(e.StackTrace);
            }
            finally
            {
                Console.WriteLine("finally中的代码!!");
            }
            Console.ReadKey();

猜你喜欢

转载自www.cnblogs.com/chao202426/p/9337294.html