2016-09-21 126 views
0

以下代码块落入catch中,并且zip文件不存在,我在代码块之前的代码块中检查该代码块。来自ZipFile.CreateFromDirectory的奇怪错误

try 
{ 
    ZipFile.CreateFromDirectory(pathToFilesToZip, zipPath, CompressionLevel.Fastest, true); 
    //ZipFile.ExtractToDirectory(zipPath, pathToStoreNewZipFile); 
    return true; 
    } 
    catch (Exception ex) 
    { 
     //log error here 
     var errorMessage = ex.InnerException; 
     Console.WriteLine(errorMessage); 
     return false; 
    } 

问题是代码工作,zip文件被创建在其正确的位置。即使陌生人,ex在catch块中也是空的。 为什么执行的代码行会生成异常?

+0

我以前有这个问题,我删除了在异常部分的代码有问题,随机,所以我一个包裹周围使用的代码,并消除了尝试捕捉我认为这可能是你可以尝试同样的事情的错误.. – MethodMan

+0

@MethodMan ...使用什么?此代码中的内容是一次性的? – dinotom

+0

@dinotom压缩文件可能已经存在,也许从第一次执行? – sly

回答

1

如果要创建的zip文件已存在,则会引发异常。尝试通过添加以下行创建zip文件之前,先删除该压缩文件:

File.Delete(zipPath); 

对于空例外,而不是伐木ex.InnerException的只要登录exex.Message。我看到的异常信息是:

文件'C:\ Temp \ temp.zip'已经存在。