• 异常处理


    1.异常处理相对于返回错误代码的一个最大优点在于,异常可以被自动传递,这样,在编程时异常更加难以被忽视。

    2.通常,只在最上层(一般是UI层)捕捉异常。如果要在其它层捕捉异常,除非是下列情况之一:
     (1)能够处理该异常,或者
     (2)能够忽略该异常,或者
     (3)需要转换该异常为其它特定异常后抛出新异常

    3.UI层捕获异常后,可以
     (1)将无关紧要的异常忽略。
     (2)将异常转换为错误信息展现给用户。
     (3)如果是重大异常,可以考虑终止应用程序。

    4.最上层(一般是UI层)不得抛出新的异常;最上层需要捕捉所有异常,否则异常会直接导致程序终止,这将是非常不好的用户体验。

    5.可以在非最上层抛出自定义异常。如果是自定义异常,请保证其是可序列化的,并且保证其实现了Exception的三个构造函数。

    6.异常的抛出与截获需要很多的cpu时间,请谨慎的使用异常。

    7.在可能抛出异常的地方,如果需要,请确保使用finally进行资源清理,而无论此处是否捕捉了异常。

    8.在一个catch块中的代码都应该至少部分地处理了所捕捉的异常。否则,就不要使用catch块。

    9.从构造函数中抛出异常。
      因为构造函数没有返回值,所以没有简单的方法来想构造函数的调用者发出构造失败的信号,这时便可以通过抛出异常来做到。比如构造参数与指定条件不符时,就抛出一个异常。 

    10.在以上前提的保证下,可以在非最上层使用AOP截获(intercept)异常而进行日志记录,这样通过日志记录,我们可以了解系统的  运行状态。记不起在哪里看到过这样一句话:在软件实现中,异常和日志都是重要的质量保证手段,异常和日志总是同时出现的。
      可以说,异常是日志记录的重要/主要组成部分。

  • 相关阅读:
    揭示同步块索引(下):总结
    关于.NET技术体系的思维导图
    嵌入式Linux中摄像头使用简要整理
    Tslib和Qt 4.8.4与在开发板上的移植
    图像处理经典图片Lena背后的故事
    Linux 下编译安装OpenCV
    Linux 下编译、安装、配置 QT
    Qt Creator的配置和开发初步测试
    OpenCV的第一个小程序:读取图像并显示
    转:智能手机Flash/DRAM选择、配置与价格大全
  • 原文地址:https://www.cnblogs.com/tommyli/p/1114543.html
Copyright © 2020-2023  润新知