Привет, ребята, я работаю над программой, она удаляет определенные файлы каталогов, в основном временные файлы, за исключением того, что я получаю сообщение об ошибке, даже знаю, что добавил блок catch. Исключение System.UnauthorizedAccessException. на сточный IOException я получаю ошибку там:C# Доступ к пути отрицается
private void DeleteInternetFiles(string internetDirectory)
{
DirectoryInfo internetTempStorage = new DirectoryInfo(internetDirectory);
try
{
//this will delete files
foreach (FileInfo getNetFileInfo in internetTempStorage.GetFiles())
{
getNetFileInfo.Delete();
}
//this will loop through and delete folders
foreach (DirectoryInfo tempDirectoryInformation in internetTempStorage.GetDirectories())
{
tempDirectoryInformation.Delete();
}
}
//catch io exception and try delete file again
catch (IOException)
{
//delete file in this directory
File.Delete(internetDirectory);
//delete folders in this directory
Directory.Delete(internetDirectory);
}
//catch access exception and delete file again
catch (UnauthorizedAccessException)
{
//delete file in this directory
File.Delete(internetDirectory);
//delete folders in this directory
Directory.Delete(internetDirectory);
}
}
И это одно ниже то, как я вызываю метод:
if (checkBox1.Checked)
{
DeleteInternetFiles(@"C:\Users\" + Environment.UserName + @" \AppData\Local\Microsoft\Windows\Temporary Internet Files");
}
Также параметр в методе DeleteInternetFiles называется string internetDirectory, по какой-то причине его не удается опубликовать. – DialUp
Второй блок catch только улавливает UnauthorizedAccessException из кода в исходной попытке, а не изнутри первого блока catch. – BurningLights