1) 用throw来提示发生异常情况,如果CLR找不到exception handler,会中止当前函数,退栈,直到找到exception handler为止。
2) exception handler被称为一个catch block,用catch关键字来创建,和try block配合使用。
3) 当异常被抛出,程序立即转移到catch block,try block中的后续代码将不再有机会被执行到。
4) catch后加括号可以指定所针对的exception,同时需要注意catch的顺序和exception之间的继承关系。
5) 不同通用性的handler可以放在不同层次的方法中。
6) finally block可以保证被执行到,无论是否遇到异常。finally必须和try block一起出现,且finally blcok不可通过break, continue, eturn, goto来中止。
7) Exception对象有Message, HelpLink和StackTrace属性。
8) 所有的自定义Exception都必须派生自System.ApplicationExceptioin。
9) InnerException属性可以记录rethrow过程中内层的exception。
10) throw;表示把相同的exception直接抛出。