gpt4 book ai didi

c# - System.IO.File.Delete 抛出算术运算导致溢出

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:33 24 4
gpt4 key购买 nike

我有这个奇怪的错误。当我调用 System.IO.File.Delete() 时,它抛出

JobCleaner.CleanFiles(): Unable to delete file: D:\WorkerData\4\Run128\Run_TEMPLATE_Rail_Scenario_Type35_INFHD2_NO_TAX_NOMEP\out‌​put_panels\FileIndex55.bin

Error: Arithmetic operation resulted in an overflow.

没有堆栈跟踪。

这是我的代码:

foreach (string strFile in System.IO.Directory.GetFiles(strFolder))
{
try { System.IO.File.Delete(strFile); }
catch (Exception ex)
{
//Exception here
AddToLog("JobCleaner.CleanFiles(): Error occurred when trying to delete file \"" + strFile + "\".\nError:\n" + ex.Message);
return false;
}
}

有什么想法吗?我尝试了一切,我检查了文件夹的安全性。我启用了全控的“Everyone”,还是遇到这个“算术运算导致溢出”的异常。

有人可以帮忙吗?我正在使用 Windows 2012 R2 Datacenter 来运行我的应用程序。

最佳答案

我不希望它抛出算术异常,但是当您在遍历它的 foreach 中修改 IEnumerable 时,我观察到一些奇怪的行为。尝试将文件列表移出循环,如下所示:

string[] files = System.IO.Directory.GetFiles(strFolder);
foreach (string strFile in files)
{
try { System.IO.File.Delete(strFile); }
catch (Exception ex)
{
//Exception here
AddToLog("JobCleaner.CleanFiles(): Error occurred when trying to delete file \"" + strFile + "\".\nError:\n" + ex.Message);
return false;
}
}

关于c# - System.IO.File.Delete 抛出算术运算导致溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26963858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com