为什么要用Exception:
- 原始的win32没有用Exp,所以回来的错误是32bit的值,Exception里面含有一个string,能记录更多的信息。
- Exception不容易被忽略,win32的错误形式,很容易被程序员不处理而不会停止程序。
Exception处理机制:
try: code contains risk
catch: exception recovery code, 更具体的exception type 放在前面,比较一般的放在后面,最后直接catch 所有
finally: clean up code
Catch 和 Catch(Exception e) 的区别:
CLR事实上可以throw任何object,但是c#只能是Exception的子类
而CLR2.0开始,当CLR上的c++语言抛出一个non-CLS的exception时候,自动会包装成一个
RuntimeWrappedException
CLS:Common Language Specification