答案:公共语言运行库支持基于异常对象和受保护代码块概念的异常处理模型。运行库在异常发生时创建一个表示该异常的对象。也可以通过从适当的基异常派生类来创建自己的异常类。
所有使用运行库的语言都以相似的方式处理异常。每种语言都使用 Try/Catch/Finally 形式的结构化异常处理。
将可能引发异常的代码节放在 Try 块中,而将处理异常的代码放在 Catch 块中。Catch 块是一系列以关键字 catch 开头的语句,语句后跟异常类型和要执行的操作。
C#的异常处理所用到关键字
try 用于检查发生的异常,并帮助发送任何可能的异常。
catch 以控制权更大的方式处理错误,可以有多个catch子句。
finally 无论是否引发了异常,finally的代码块都将被执行。
throw 用于引发异常,可引发预定义异常和自定义异常。
例如:
try
{
//可能抛出异常的代码
}
catch(Exception e)
{
//处理异常
}
finally
{
//一定要执行的代码
}
C#定义了IOException NullReferenceException等异常类,可以更加明确地捕获要处理的异常
另外可以使用Throw语句显式引发异常。也可以使用Throw语句再次引发捕获的异常。好的编码做法是向再次引发的异常添加信息以在调试时提供更多信息。
上一个:C#中方法参数传递机制
下一个:C#·NET Framework框有什么好处?