C#异常处理知识汇总
什么是异常
异常是指程序运行过程中,出现了不可预测的错误或者状态,导致程序无法正常执行。异常属于错误,不能被忽略,需要进行处理。
C#中的异常处理
在C#中,可以使用try-catch语句进行异常处理。其基本语法结构如下:
try
{
// 可能会抛出异常的代码块
}
catch (Exception ex)
{
// 异常处理代码块
}
finally
{
// 必须执行的代码块
}
其中,try块中的代码可能会抛出异常,如果抛出异常,程序会跳转到catch块中的代码进行异常处理。finally块中的代码块一定会被执行,不论try块中是否抛出了异常。
在catch块中,可以使用Exception类型的参数来接收抛出的异常,并进行异常处理。
异常的类型
在C#中,有很多异常的类型,以下是比较常见的几种:
- System.Exception:所有异常类型的基类,可以用于捕获所有类型的异常。
- System.SystemException:系统级异常,表示由于程序自身的错误导致的异常。
- System.ApplicationException:应用程序级异常,表示由应用程序自身的错误导致的异常。
- System.IndexOutOfRangeException:表示在集合中使用了一个非法的索引。
- System.NullReferenceException:表示使用了一个空引用对象,而实际上该对象是null。
抛出自定义异常
除了使用系统自带的异常类型,还可以自定义异常类型。自定义异常需要继承Exception或其子类,可以根据自己需要添加额外的成员或方法。
以下是一个简单的自定义异常的示例:
public class CustomException : Exception
{
public CustomException(string message)
: base(message)
{
}
}
使用时,抛出自定义异常:
throw new CustomException("出现了自定义异常");
示例一:异常处理示例
下面是一个异常处理的示例,代码中处理了可能会出现的除零异常。
int a = 1;
int b = 0;
try
{
int c = a / b;
Console.WriteLine("a / b = {0}", c);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("发生了除零异常:{0}", ex.Message);
}
finally
{
Console.WriteLine("程序执行完毕");
}
示例二:自定义异常示例
下面是一个自定义异常的示例,代码中定义了一个名为CustomException的自定义异常类,用于处理程序中出现的自定义异常。
public class CustomException : Exception
{
public CustomException(string message)
: base(message)
{
}
}
try
{
//可能抛出自定义异常的代码块
throw new CustomException("自定义异常");
}
catch (CustomException ex)
{
Console.WriteLine(ex.Message);
}
finally
{
Console.WriteLine("程序执行完毕");
}
以上就是C#异常处理的完整攻略,包括了异常处理的基本语法、异常的类型、抛出自定义异常及相关示例,希望对大家在C#编程中的异常处理有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#异常处理知识汇总 - Python技术站