黑马程序员-异常处理

---------------------- ASP.Net+Android+IOS开发 .Net培训 、期待与您交流! ----------------------


作为一名程序员,在编码的过程中,最经常打交道的就是 bug ,各种各样的 bug ,处理这些 bug ,就需要我们一定的经验。

        程序出现异常最直接的办法就是让程序将异常抛出,这样我们就能很快的知道程序出了什么问题,如何去改

异常的抛出,语法是:

      throw new Exception(“消息”);

如何捕获异常:

try

{

      //容易出现异常的代码

}

catch(Exception ex)

{

      //通过ex捕获异常信息,并对其进行处理

      //将异常信息写入日志,用来后期查看

      //此处可以使用ex.Message来获取异常信息

}

程序的自身的方法中要是没有处理发生的异常,那么就会向上抛出,直到抛出应用程序到操作系统。


通过上图将会发现,ReadInt类中发生的异常,因为自身类中没有处理异常的代码,然后将异常向上抛出,

这样就导致了Main方法中      ReadInt num=new ReadInt(-2)

这句代码出现异常,所以执行catch中的代码,此时ex=new Exception(“有异常”);

ex.Message中就存储这异常信息

 

然而,有的时候调用关系嵌套很多层,这样异常抛出的道理是相同的



ReadInt1中发生异常,那么就会向上抛出,异常抛到ReadInt中,但是ReadInt中也没有处理异常的代码,那么异常就将会

继续向上抛出,当发现有try—catch则将异常直接赋值给了ex变量,并执行catch代码

     既然异常是一直向上抛出,那么当调用的层次较多的时候,出现异常也将很难找到出现异常的代码在什么地方

      Visual Studio这个开发工具就给我们记录好了异常发生的路径,具体查看步骤

      1)catch代码段的结束的大括号上面设置断点

      2)执行到断点的时候,将光标放到ex

      3)右击选择快速监视,然后在弹出的对话框中选择 ex StackTrace 属性,点击后面的放大镜就能看到下面的窗口 


这样我们就能很清楚的看到是哪个文件中的哪行代码出现问题,程序的调用过程是怎么样的,都经过哪个文件的哪行代码的调用

异常处理这个是个难点,以上介绍都是皮毛,随着深入的学习,肯定会了解的越来越深刻的



---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值