zoukankan      html  css  js  c++  java
  • 异常处理与调试3

    异常处理与调试3

     

    让编程改变世界

    Change the world by program


     

    两种结构的嵌套

      要在一个过程里同时实现处理异常和保护资源分配,关键要保证“try…except”语句和“try…finally”都是独立的操作。 现实中不存在“try…except…finally”语句,不过可以通过将“try…except”语句嵌套到“try…finally”语句中实现上面的目的。   其格式为: [codesyntax lang="delphi"]
    try 
        try 
            <可能产生异常的语句序列1>; 
        except 
            <处理异常的语句序列2>; 
        end; 
    finally 
        <释放资源的语句序列3>; 
    end;
    [/codesyntax]  

    使用Raise处理异常

      Delphi还提供了一种非常简洁的异常处理语句raise,通过这个语句,可以随时在正常执行的语句中加入处理异常的语句。 raise语句可以提交一个异常的实例,例如下面的语句将产生一个除数为0的异常实例:raise EZeroDivide.Create;   在实际应用中,raise常常在try保护块中捕捉遗漏的异常。例如,下面的一个关于异常保护的比较完整的例子。 例子:同时使用异常响应和异常保护来处理被0除和释放资源,当异常响应结束时利用raise重新引发一个当前异常。  

    利用异常响应编程

      例如,如下一段程序使用异常机制就远比用if……else语句实现简捷明了。 [codesyntax lang="delphi"]
    function Calcu(x,y,z,a,b,c:Integer):Real;
    begin
        try
            Result:= x/a + y/b + z/c;
        except
            On EdivByZerod do
            Result:=0;
        end;
    end;
    [/codesyntax]   总之,利用异常响应编程的中心思想是虽然存在预防异常发生的确定方法,但却对异常的产生并不进行事先预防,而是进行事后处理,并以此来简化程序的逻辑结构。 最后献上一个例子给大家参考学习:文件打开异常处理 [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/BdsUAwJqTgAXbupR55c']视频下载[/Downlink]
  • 相关阅读:
    Perforce服务器的备份还原
    asp.net C#页面中添加普通视频的几种方式
    九度OJ1085
    poj3253
    POJ1276
    POJ1113
    POJ1273
    九度OJ1084
    xdoj 1108 淼&#183;诺贝尔
    九度OJ1081
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846351.html
Copyright © 2011-2022 走看看