try catch基本介绍。

来源:互联网 发布:数据库 方向 编辑:程序博客网 时间:2024/06/06 16:31
1:正在逐步尝试将try,catch加入代码中,所以此文新手适用。

try catch一般来说,使用在可能会出现异常的代码块。具体什么时候会出现异常,那需要知识和经验的积累。
一般情况下适用trycatch的模块有:数据库操作,文件操作,网络通信操作和一些设备连接。因为这些地方最可能出现异常。

网络上说,trycatch可能会影响效率。但影响是否可接受,这可能取决于软件的使用范围。比如待效率要求很高的软件,在可能的情况下,减少trycatch的使用(但个人认为,不可能不使用)

建议:参考一下几条原则(注意“灵活”)
几条建议:
  ☆ 如果无法处理某个异常,那就不要捕获它。 
  ☆ 如果捕获了一个异常,请不要胡乱处理它。 
  ☆ 尽量在靠近异常被抛出的地方捕获异常。能够底层处理的异常,不要放置到高层。
  ☆ 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出。 
  ☆ 按照您的异常处理必须多精细来构造您的方法。 
  ☆ 需要用几种类型的异常就用几种,尤其是对于应用程序异常。
  ☆ 把低层次的异常封装成层次较高程序员较容易理解的异常。
  ☆ 尽量输出造成异常的完整数据
  ☆ 尽量捕获具有特定含义的异常:比如SqlException,而不是简单地捕获一个Exception。

 1.尽量给CLR一个明确的异常信息,不要使用Exception去过滤异常

   2.尽量不要将try…catch写在循环中

   3.try尽量少的代码,如果有必要可以使用多个catch块,并且将最有可能抛出的异常类型,书写在距离try最近的位置

   4.不要只声明一个Exception对象,而不去处理它。这样做白白增加了Exception HandingTable的长度。

   5.使用性能计数器实用工具的“CLR Exceptions”检测异常情况,并适当优化


另外:如果不知道如何处理异常,那么最少打印日志,用来查看原因。

测试用例中,使用throw抛出一个派生类的Exception可以通过基类的Exception来获取。此用法可以在:传值,引用两种方式下使用。
希望可以探索原理。我可以理解指针获取,但无法理解传值和引用两种方式的获取。
0 0
原创粉丝点击