在C#中,异常是在程序执行过程中发生的错误或意外情况。当出现异常时,程序的正常流程被中断,并且执行权被传递到异常处理机制。异常提供了一种机制,用于捕获、处理和恢复错误,以确保程序的稳定性和可靠性。
try
{
// 可能引发异常的代码
}
catch (ExceptionType1 ex)
{
// 处理特定类型的异常
}
catch (ExceptionType2 ex)
{
// 处理另一种类型的异常
}
finally
{
// 最终处理,无论是否发生异常
}
try
{
// 可能引发异常的代码
}
catch (ExceptionType ex)
{
// 处理特定类型的异常
Console.WriteLine("发生异常:" + ex.Message);
throw; // 重新引发异常
}
// 自定义异常类
public class CustomException : Exception
{
public CustomException(string message) : base(message)
{
}
// 添加自定义的属性和方法
// ...
}
try
{
// 可能引发自定义异常的代码
}
catch (CustomException ex)
{
// 处理自定义异常
Console.WriteLine("发生自定义异常:" + ex.Message);
}
// NullReferenceException:访问空引用对象的成员
string name = null;
int length = name.Length; // 引发NullReferenceException
// ArgumentException:无效的参数
int age = -10;
if (age < 0)
{
throw new ArgumentException("年龄不能为负数");
}
// FileNotFoundException:文件未找到
string filePath = "path/to/nonexistent/file.txt";
if (!File.Exists(filePath))
{
throw new FileNotFoundException("文件未找到", filePath);
}
// DivideByZeroException:除以零
int numerator = 10;
int denominator = 0;
int result = numerator / denominator; // 引发DivideByZeroException
// CustomException:自定义异常
public class CustomException : Exception
{
public CustomException(string message) : base(message)
{
}
}
try
{
// 可能引发自定义异常的代码
throw new CustomException("自定义异常");
}
catch (CustomException ex)
{
// 处理自定义异常
Console.WriteLine("发生自定义异常:" + ex.Message);
}