异常处理

第一节    .net异常处理基础

1、 异常概述:

a、  定义:程序运行时所引发的错误。异常不等同于bug,它是bug的一种表现形势。

b、  机制:.它由clr负责实现,是独立于编程语言的。当程序出现运行错误时,clr会创建一个异常对象,异常对象通常是一个exception类(或其派生的子类)的实例。

c、  若异常出现,应用程序没有编写代码处理异常,clr会强行结束整个进程。

2、 try、catch和finally

try

{

   //可能引发异常的语句   ---------try语句块(1)

}

catch(exception e)

{

   //对异常进行处理的语句  ---------catch语句块(2)

}

finally

{

  //打扫“战场”的语句    --------- finally语句块(3)

}

【解释】:
a、若正常运行,执行流程为第(1)块→第(3)块

b、若非正常运行,执行流程为第(1)块→第(2)块→第(3)块

c、其中finally语句是可选的,主要用于解决资源泄露问题,如文件句柄。

3、异常基类exception:

   a、exception的重要属性和方法
      a.1 e.gettpye()   获取异常的类型

      a.2 e.message    告诉用户发生了什么事

      a.3 e.stacktrace  确定错误发生的位置,如果有可用的调试信息(程序名.pdb文件存在),还可显示源文件名和程序行号

      a.4 targetsite  获取引发当前异常的方法。

   b、常用异常类

      b.1 arithmeticexception: 在算术运算期间发生的异常(如dividebyzeroexception 和 overflowexception)的基类

      b.2 dividebyzeroexception 在试图用零作除数时引发

      b.3 indexoutofrangeexception 在试图使用小于或超出数组界限的下标索引数组时引发

      b.4 invalidcastexception 从基类型或接口到派生类型的显式转换在运行时失败,引发此异

posted @ 2018-05-11 11:20  乌柒柒  阅读(122)  评论(0编辑  收藏  举报