当idftp访问一个不存在或者权限达不到的目录的时候,会出现一个错误对话框:
no such file or directory,我把它放到try catch里面也没有把这个异常抓取到~~
请问如何屏蔽到这个异常,继续循环?
谢谢了~~

解决方案 »

  1.   

    你需要的是修正idFTP.Pas源码的错误,才能解决问题的
    Try Except是可以处理的
    跟踪到吧建议官方的新版Indy~
      

  2.   

    对于一般的 replyError能够抓取道,但是一个致命的错误就是  socket ERRor,这个怎么抓都抓不到,谁知道怎么处理?
    INDY好像没有源码`~~~
    分不够再加~~
      

  3.   

    没人知道么
    郁闷`~~看来要自己写一个ftp组件了~~
      

  4.   

    我用D6自带的indy是可以的,如:
      IdFTP1.Connect();
      try
        IdFTP1.ChangeDir('picture');
      except
        ShowMessage('目录不存在');
      end;
    不过在调试状态,如果你要关闭调试的错误对话框,可在菜单的tools->debugger options->Language exceptions中将stop on delphi exceptions 前的勾去掉
      

  5.   

    并不是异常
    是一个sockedErr,放到try except中还是不行的,不知道这个socketErr是怎么出来的,网上这个问题很多,但是没有答案好像
      

  6.   

    FindWindow
    然后给它一个WM_CLOSE
    干掉那个对话框!
      

  7.   

    我试过了,indy的异常都在一个pas里,跟踪一下他的代码,随你怎么控制,把它全部屏蔽掉也可以。
    by the way,我用的是10.0版本。
      

  8.   

    确定你的错误类型..比如..EFileStreamError1.try
     你的代码
    except
      raise Exception.Create('error');
    end;2.try
      SetFieldValue(dataField, userValue);
    except
      on E: EFileStreamError do
        ShowMessage('EFileStreamError. .....');
    end;