在C#中,使用System.IO.FileInfo
类处理异常情况时,可以使用try-catch
语句来捕获和处理可能发生的异常。以下是一些常见的异常及其处理方法:
FileNotFoundException
:当尝试访问不存在的文件时引发此异常。
using System; using System.IO; class Program { static void Main() { try { FileInfo fileInfo = new FileInfo("non_existent_file.txt"); } catch (FileNotFoundException ex) { Console.WriteLine("文件未找到: " + ex.Message); } } }
UnauthorizedAccessException
:当尝试访问受保护的文件或目录且没有足够的权限时引发此异常。
using System; using System.IO; class Program { static void Main() { try { FileInfo fileInfo = new FileInfo("protected_file.txt"); // 尝试执行需要权限的操作,例如读取文件内容 } catch (UnauthorizedAccessException ex) { Console.WriteLine("访问被拒绝: " + ex.Message); } } }
PathTooLongException
:当路径长度超过操作系统允许的最大长度时引发此异常。
using System; using System.IO; class Program { static void Main() { try { string longPath = new string('a', 26000); // 创建一个过长的路径 FileInfo fileInfo = new FileInfo(longPath); } catch (PathTooLongException ex) { Console.WriteLine("路径过长: " + ex.Message); } } }
DirectoryNotFoundException
:当尝试访问不存在的目录时引发此异常。
using System; using System.IO; class Program { static void Main() { try { FileInfo fileInfo = new FileInfo("non_existent_directory/file.txt"); } catch (DirectoryNotFoundException ex) { Console.WriteLine("目录未找到: " + ex.Message); } } }
在处理异常时,请确保根据具体情况选择合适的异常类型,并在catch
块中提供有意义的错误消息。这样可以更容易地诊断和解决问题。