异常的处理
try
{
//正常代码块
}
catch(ArgumentException ex1)
{
}
catch(Exception ex2)
{
}
说明:
- 可以有多个catch,可以带参数。
- 常规catch快,c#允许写一个无参数的catch,成为常规catch块。
- 事实上,与一个空catch快对应的CIL是一个catch(object),这意味着不管引发什么类型,空catch快都能扑捉到它,有趣的是,你不能在在c#中显示的声明一个catch(object)快。
异常处理原则
1 只扑捉你能处理的异常
2 不要隐藏你不能完全处理的异常,新程序员常犯的一个错误是,扑捉所有的异常,然后假装什么都没发生 ,而不是向用户报告,这有可能导致系统出现严重错误
3 能不用就不要用,在程序开始就避免异常产生。