C Sharp(十六)
發佈於 2018-12-01
这一篇,我们讲讲 C# 中的异常处理 —— try、catch、finially。
异常是程序运行时错误,出现正常操作时未预料的情况。当发生时,系统会捕获这个错误并抛出异常。 在编写 iOS 程序时,我们可能很少使用异常,通常我们使用 NSError **error 这样的二级指针来获取错误对象,处理不同的错误。
try 语句是为了避免出现异常而被保护的代码段,在出现异常时提供异常处理。 try 语句由三部分组成:
try {
//...
}
catch () {
//...
}
catch () {
//...
}
finally {
//...
}
有许多不同类型的异常可能在程序中发生。BCL 定义了许多异常类。当一个异常发生时,我们应:
所有的异常类都继承自 System.Exception。异常对象含有只读属性:
catch 子句有三种形式:
catch {
//没有参数,匹配 try 中发生的任何异常
}
catch (ExceptionType) {
//异常类型作为参数,匹配该类型的异常
}
catch (ExceptionType Exp) {
//特定异常对象作为参数,匹配该类型的异常,在代码块中可以使用异常对象
}
如果程序进入了一个带有 finally 块的 try 语句,那么 finally 块总会执行。
我们可以使用 throw 语句显式触发一个异常,语法如下:
throw ExceptionObject;
throw 还可以不带异常对象使用,只能用在 catch 块内部。