常见异常类及异常对象属性

  程序运行的过程中,会发生各种非正常状况,比如程序运行时磁盘空间不足,网络连接中断,被操作的文件不存在。(异常在程序运行时发生)
  针对这种情况下,C#程序引入了异常处理机制,通过异常处理机制对程序运行时出现的各种问题进行处理。

语法错误(编译错误)——编辑器
逻辑错误——程序调试
语义错误(运行错误)——异常处理

C#提供了大量的异常类,这些类都继承自Exception类。
Exception类是所有异常类的基类,它包含在System命名空间内,该类的对象可以捕获任何类型的异常,其他派生类的对象只能捕获相应类类型的异常。

  1. MemberAccessException:类型成员不能被访问
  2. ArgumentException:所有参数异常的基类
  3. ArgumentNullException:参数为空
  4. ArgumentOutOfRangeException:参数不在给定的范围内
  5. ArithmeticException:算术运算、类型转换或转换操作中的错误
  6. ArrayTypeMismatchException:与数组类型不匹配
  7. DivideByZeroException:除数为0
  8. FormatException:参数的格式不正确
  9. OutOfMemoryException: 内存不足
  10. OverflowException:数据溢出
  11. IndexOutOfRangeException:数组下标出界
  12. NullReferenceException:空对象被引用
  13. InvalidOperationException:方法调用对于对象的当前状态无效

每个异常对象都包含一些只读属性,这些属性可以描述异常的信息,通过这些属性可以更准确的找到异常出现的原因。

  1. Message string 此属性含有解释异常原因的消息
  2. StackTrace string 此属性含有描述异常发生在位置信息
  3. InnerException Exception 如果当前异常是由另一个异常引起的,此属性包含前一个异常的引用
  4. HelpLink string 此属性为异常原因信息提供URN或在RUL
  5. Source string 此属性含有异常起源所在的程序集的名称

try…catch 和 finally 及 throw

1、try…catch和finally
  由于发生了异常程序会立即终止,无法继续向下执行了。C#程序中提供了一种对异常进行处理的方式——异常捕获。

try
{
   
   
		//程序代码块(可能出现问题的代码块)
}
catch(ExceptionType e)//可以是Exception类及其子类
{
   
   
		//对异常的处理
}

  try代码块:用于处理可能发生的异常语句,catch代码块中是针对异常进行处理的语句。当try代码块中的语句发生了异常,就会交给catch块进行匹配
  在C#中catch代码块有三种形式,分别用于处理不同级别的异常

  1. 一般的catch代码块:catch后面没有任何内容,可以匹配try代码块中任意类型的异常。
  2. </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值