异常和状态管理

事实上,许多面向对象的构造——构造器,获取和设置属性,添加和删除事件,调用操作符重载和调用转换操作等等(我们在写代码的时候总是想当然的写一大串,但是要知道很多代码只是在理想状态下没有任何操作失败才可能执行)

由于异常基础部分已经十分明了,所以这里就不一一赘述,只是简单阐述一些之前没有注意到的地方####**:**catch()的这个圆括号中的表达式称为捕捉类型。C#要求它必须是System.Exception或者它的派生类
  • 一旦CLR找到匹配的catch块,就会执行内层所有finally块中的代码。注意与catch块匹配的finally块还没有执行,等到catch块执行完毕之后才会执行。
  • 一个try块只能有一个finally块

  • 基类的异常主要作用是将大量的异常错误当做一个错误,这是很危险的。

设计规范和最佳实践

  • 不要什么异常都捕捉,捕捉异常是表明你已经预见到该异常,理解他为什么发生,并指导如何处理它的时候,才会捕捉异常。
  • ‘catch
    {
    throw;
    }’这段话会捕捉所有异常,就好比QQ软件,其实内部是会有很多的bug,但是当bug发生的时候,它并不会显示抛出这种异常,而是在内部消化,而开发人员却会收到异常错误通知
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值