14 错误和异常

错误和异常

14.2 异常类

图14-1(373)

  • SystemException——该类用于通常由.NET运行库抛出的异常,或者由几乎所有的应用程序抛出的异常。SystemException异常的子类包括表示致命错误和非致命错误的异常。
  • ApplicationException——最初的设计是作为自定义应用程序异常类的基本类,CLR抛出的一些异常也派生自这个类。从ApplicationException派生自定义异常没有任何好处。如果需要自定义异常类,从Exception基类派生自定义异常类。
  • StackOverflowException——栈中的内存区域已满,抛出这个异常。
  • EndOfStreamException——通常是读到文件末尾而抛出,流表示数据源之间的数据流。
  • OverflowException——如果要在checked环境下把包含-40的int类型数据强制转换为uint数据,就会抛出这个异常。
14.3 捕获异常
```
try
{
    
}
catch
{
    
}
finally
{
    
}
```
  • 可以省略finally
  • 可以由多个catch,过多会降低性能。
  • 可以自定义过滤器,其中包含catch块仅在过滤器匹配时,捕获特定块中的异常。
  • 可以省略catch块——此时,该语法不是标识异常,而是一种确保程序流在离开try块后执行finally块中的代码的方式。如果在try块中有几个出口点,这很有用。

转载于:https://my.oschina.net/u/3728193/blog/1630676

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值