首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一个错误的困惑。蛋疼好多天了

2012-03-29 
一个异常的困惑。。。蛋疼好多天了我的程序里用了EurekaLog来记录用户反馈的错误,最近发现一个很让我很蛋疼的

一个异常的困惑。。。蛋疼好多天了
我的程序里用了EurekaLog来记录用户反馈的错误,最近发现一个很让我很蛋疼的问题

异常信息是:
Invalid characters in path.


异常代码片段

Delphi(Pascal) code
try  for Path in PathList do  begin    if DirectoryExists(Path) then    begin      FileNameList := TDirectory.GetFiles(Path, '*.exe', TSearchOption.soAllDirectories);  // 出错行      for FileName in FileNameList do      begin          // 一些文件处理代码,略去      end;    end;  end;except  // 这里抓取引发异常的路径,当然还有其他用户反馈的别的路径,各不相同,我只是随机挑出的一个  // Path = 'C:\Program Files\Tencent\QQPCMgr\6.6.2158.401\'end;


通过跟踪调试发现抛出异常的地方应该是在IOUtils.pas的1401行这里

Delphi(Pascal) code
if not TPath.HasValidPathChars(Path, False) then  raise EArgumentException.CreateRes(@SInvalidCharsInPath);   // 异常:Invalid characters in path.


困惑的地方就在这了,扫描文件前明明用DirectoryExists检查过了,目录是合法存在的
而且异常发生后抓到的Path路径也没有不合法字符啊

我单独用TPath.HasValidPathChars来检测这个Path也是通过的。。。

但是怎么就会提示Invalid characters in path.异常呢

[解决办法]
没遇到,帮你顶顶

[解决办法]
TPath.IsValidPathChar(); 
先判断到底是哪个字符是不识别的吧
[解决办法]
进入HasValidPathChars这个函数源码看看,他要判断什么东西
[解决办法]
楼主 EurekaLog 你用的怎么样 
我怎么用了报了些未知错误

热点排行