文件名称:异常处理语句-京东应用架构设计
文件大小:7.56MB
文件格式:PDF
更新时间:2024-06-30 04:57:23
Delphi 2010 语法
6.3 异常处理语句 异常处理语句由两部分组成,一部分专门用于检测代码中是否存在异常,另一部分专 门用于处理检测到的异常。Delphi提供了两种专用于处理各类异常的语句,一是 try...except...end语句,另一类是 try...finally...end语句。 6.3.1. try...except...end 语句 Try...except...专用于处理各类异常。其形式为: try 语句 1 except 语句 2 [else语句 3] end; 其中[else语句 3]为可选部分。 这类语句的执行过程为: 1. 执行语句 1,若没有任何异常产生,则执行完语句 1后,直接执行 end后的语句; 2. 若执行语句 1 时产生了异常,则绕过语句 1中剩下的还未执行的部分,直接跳至语句 2; 3. 跳至语句 2后会在语句 2中寻找合适的处理语句,若未寻找到则招待 else部分 4. 若 else部分缺省,则当前 try...except...无法处理这个异常,程序会将这个异常提 交到上一层的 try...except...语句进行处理 5. 若上一层的 try...except...中还是不能处理这个异常,则将这个异常提交到更上一 层的 try...except...,依此类推,直至程序的最外层的 try...except... 6. 若最外层还是不能处理,则提交给 Delphi 自动插入的异常处理语句,这样做的结果通 常是程序强行中断并退出。 注意第 3步,程序会在语句 2中寻找合适的处理语句。问题是,究竟什么才是合适的 处理语句?我们来看一下以上三部分语句。 首先,语句 1 是我们本来就要执行的普通代码,这个应该没什么问题。 现在,我们看一下语句 2。语句 2有两种形式: 第一种形式就是普通的代码,其中调用若干个例程,这些例程通常是诸如 exit、 break之类负责程序退出或直接将异常提交到其它某个位置。当异常被提交给这种语句 时,若第一句代码能够处理异常(退出程序或是将异常提交),则此段就算合适。若第一 句代码不能搞定,异常会直接提交给 else 部分,若没有则直接跳到上一层的