(delphi11最新学习资料) Object Pascal 学习笔记---第9章第3节( 真实世界中的异常处理)

9.3 真实世界中的异常处理

​ 异常是一种很好的错误报告和错误处理机制(不是在单个代码片段中,而是作为大型架构的一部分)。一般来说,异常不应替代检查一个局部错误条件(尽管有些开发人员会这样使用异常)。

​ 例如,如果对一个文件名不确定,一般认为在打开文件前检查文件是否存在比使用异常处理文件缺失的情况要好。不过,在向文件写入内容之前检查磁盘空间是否足够,这种检查在所有地方都做意义不大,因为这种情况极为罕见。

​ 一种说法是,程序应该检查常见的错误条件,而把不常见和意外的错误留给异常处理机制。当然,这两种情况的界限往往很模糊,不同的开发人员会有不同的判断方法。

​ 如果你让不同的类和模块相互传递错误条件,那么这里你应该使用异常。与使用异常相比,返回错误代码极其繁琐且容易出错。引发异常在组件或库类中比在事件处理程序中更为常见。

​ 相反,在日常代码中极为重要和常见的是使用finally代码块来保护异常发生时的资源。您应始终使用 finally 语句保护引用资源的代码块,以避免在出现异常时发生资源泄漏。每次在单个函数或方法中打开和关闭、连接和断开、创建和销毁某些内容时,都需要使用 finally 语句。最后,finally 语句能让程序在出现异常时保持稳定,允许用户继续使用或(在出现更严重问题时)有序关闭应用程序。

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 07:56:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 07:56:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 07:56:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 07:56:04       18 阅读

热门阅读

  1. 设计模式: 行为型之访问者模式(22)

    2024-04-13 07:56:04       19 阅读
  2. 2024软考系统架构师-案例题分享2(带答案)

    2024-04-13 07:56:04       157 阅读
  3. 网络安全之反弹Shell

    2024-04-13 07:56:04       22 阅读
  4. HiveSQL基础Day04

    2024-04-13 07:56:04       13 阅读
  5. SQL Server的索引选择

    2024-04-13 07:56:04       13 阅读
  6. 神经网络和反向传播算法快速入门

    2024-04-13 07:56:04       14 阅读
  7. 基于ethers.js连接小狐狸快速开发

    2024-04-13 07:56:04       15 阅读
  8. CentOS 7下Vim常用工作模式详解

    2024-04-13 07:56:04       19 阅读
  9. Android OpenCV 概述、优缺点及应用场景分析

    2024-04-13 07:56:04       14 阅读