try块包含为避免出现异常而被保护的代码。
catch子句部分含有一个或多个catch子句。这些是处理异常的代码段,也是异常处理程序。
finally块含有所有情况下都要被执行的代码,无论有没有发送异常,即使是Return也会往下执行。
System.Exception:所有异常的基类。
SystemException:所有预定义系统异常的基类。
ApplicationException:所有非致命的、应用程序定义的基类。
Catch排序规则
1.特定catch字句必须以一种顺序排列,最明确的异常类型第一,知道最普通的类型。例如:如果声明了一个派生自NullRefrenceException的catch字句之前。
2.如果有一个一帮catch字句,他必须是最后一个,并且在所有特定catch字句之后。不建议使用一般的catch字句,因为他允许程序继续执行隐藏错误,让程序处于一种未知的状态,应尽可能使用特定catch子句。
自定义异常:
class MyException:Exception
{
public string Name { get; set; }
public override string Message
{
get
{
return base.Message;
}
}
}
抛出异常:throw 异常对象