如何使用try。。except 和try finally的用法及两种用法的区别,请给出几个实例解释,谢谢!

解决方案 »

  1.   

    try。。except :如果try过程不出错,不执行except中的代码,如果出错,立即转到except中try finally   :如果try过程不出错,最后仍然执行finally中的代码,如果出错,立即转到finally中
      

  2.   

    try
     .
     .
     (程序执行部分)
    except //抛出异常信息(发生异常才会执行下面的语句)
      on E:exception do begin
        showmessage(E.Message);
        exit;
      end;
    end;try
     .
     .
     (程序执行部分)
    finally //一般用于对象的释放(无论是否发生异常程序都会执行下面的语句)
      Adoquery1.free;
    end;
    想有更深一步的了解,还是建议楼主多找个资料看看。
      

  3.   

    try ... except ...和try ... finally ...都可以用来捕获异常,区别是:
    try ... except ...当在try子句中产生异常后,中断当前操作,立即转入except子句执行,except中也可以重新raise该异常或raise一个新的异常,被捕获的异常再不会被外层的异常处理再次捕获,所以可以理解为单纯的异常处理。
    try ... finally ...不论try子句中是否产生异常,finally子句中的操作都会被执行,try子句中产生异常的语句后面的操作不会被执行。通常用来在finally子句中关闭文件,释放资源等。
      

  4.   

    补充一下
    try只能在编译后,执行exe时才有效,调试的时候是不能捕获异常的。
      

  5.   

    try
      i:=5/0;
    except
       showmessage('error');
    end;
    这里,当执行i:=5/0时,就会出错还转执行except中的语句,但如是i:=5/5就执行到end下一句.
    try
      i:=5/0;
    finally
       showmessage('error');
    end;
    这里,当执行到i:=5/0语句时,无论是i:=5/0还是i:=5/5都会执行finally中的语句,也就是报错.
    应该差不多吧,希望对你有所帮助.