在.NET Framework中,C#使用异常处理机制来处理错误。异常是程序在运行时遇到的问题,如尝试访问不存在的文件、除以零等。当异常发生时,程序会中断执行并跳转到相应的异常处理代码,这样可以确保程序不会因为错误而崩溃,并提供一种优雅的错误处理方式。
C#中的异常处理主要包括以下几个关键字和概念:
以下是一个简单的C#异常处理示例:
using System;
using System.IO;
class Program
{
static void Main()
{
try
{
// 尝试读取一个不存在的文件
using (StreamReader sr = new StreamReader("nonexistent_file.txt"))
{
Console.WriteLine(sr.ReadToEnd());
}
}
catch (FileNotFoundException e)
{
// 捕获并处理特定类型的异常(这里是FileNotFoundException)
Console.WriteLine("文件未找到: '{0}'", e.FileName);
}
catch (Exception e)
{
// 捕获其他未处理的异常
Console.WriteLine("发生异常: {0}", e.Message);
}
finally
{
// 无论是否发生异常,都会执行此代码块
Console.WriteLine("异常处理完成");
}
}
}
在这个示例中,我们尝试读取一个不存在的文件。如果文件不存在,程序会引发FileNotFoundException异常。通过使用try-catch块,我们可以捕获并处理这个异常,避免程序崩溃。最后,finally块中的代码将始终执行,确保资源得到正确释放。