在C#中,處理目錄相關的異常通常涉及到System.IO
命名空間中的類和方法。當操作目錄時,可能會遇到多種異常,例如DirectoryNotFoundException
(當指定的目錄不存在時引發)、UnauthorizedAccessException
(當當前用戶沒有足夠的權限訪問目錄時引發)等。為了處理這些異常,可以使用try-catch
語句。
以下是一個簡單的示例,展示了如何處理目錄相關的異常:
using System;
using System.IO;
class Program
{
static void Main()
{
string directoryPath = @"C:\example_directory";
try
{
// 檢查目錄是否存在
if (!Directory.Exists(directoryPath))
{
throw new DirectoryNotFoundException($"目錄 '{directoryPath}' 不存在。");
}
// 獲取目錄中的所有文件
string[] files = Directory.GetFiles(directoryPath);
// 處理文件
foreach (string file in files)
{
Console.WriteLine(file);
}
}
catch (DirectoryNotFoundException ex)
{
Console.WriteLine($"錯誤: {ex.Message}");
}
catch (UnauthorizedAccessException ex)
{
Console.WriteLine($"錯誤: {ex.Message}");
}
catch (Exception ex)
{
Console.WriteLine($"未知錯誤: {ex.Message}");
}
}
}
在這個示例中,我們首先嘗試檢查目錄是否存在。如果不存在,我們拋出一個DirectoryNotFoundException
異常。接下來,我們嘗試獲取目錄中的所有文件。如果在執行此操作時遇到任何異常,我們將捕獲并處理它們。最后,我們使用一個通用的Exception
捕獲塊來處理任何其他可能的異常。