初学者,学习TRY语句时,发现有时候EXCEPT语句下面会有on exception do,而有些程序并没有写这句,我删除和添加这句时并没有发现程序运行有什么变化,请问这个语句有什么作用?是用来干什么的呢?

解决方案 »

  1.   

    《Delphi 5 开发人员指南》
    第2章   Object Pascal语言 16
    2.19   结构化异常处理 66
    2.19.1   异常类 68
    2.19.2   执行的流程 70
    2.19.3   重新触发异常 71
      

  2.   

    呵呵,我是在看书哦,不过不是你说的那本书,是“新电脑课堂”出的《DELPHI编程篇》,就是在这本书上发现这个问题的,但是书上没有解释这个问题,所以请赐教啦~
      

  3.   

    try
         VCLZip1.zip; 
      except on E: Exception do  begin
                application.MessageBox(pchar('备份失败'+E.Message),'备份');
                Screen.Cursor:=crDefault;
                exit;
            end;
      end;
      

  4.   

    当发生特定异常时做什么事, 有些异常是不必用户干预的
      try
        DateTime := StrToDateTime(Edit1.Text);
        ...
      except
        on e: EConvertError do // 当发生转换失败时, 其它异常这里管不着
          showmessasge('目期格式无效')    on e: 其它可以处理的异常 do
        ...
      end;
    注意下 on e: Exception do 会响应所有的异常, 因为所有异常都是派生 Exception