1. 异常的使用场合:
1) 应用程序
2) 库(最好不要捕获异常,除非某个异常表示的是代码可以处理的情况),但要假定调用代码可以处理他们。
2. .net运行时可以把整个程序放在另一个更大的try块中,如果发生的异常代码没有处理,程序流就会退出程序,由.net运行时中的catch块捕获它。会导致程序执行中断,通知用户代码没有处理异常。所以应该由程序捕获、处理一些异常。避免这种未处理异常的发生。
3. 作用域问题:
Try中的代码(变量定义)属于块作用域,在其中定义的变量不能在catch finally块中引用。
4. Throw语句不必位于try块所在的方法中,也可以在其调用的其他子方法中。若在其中遇到Throw,则中间方法调用中的所有局部变量都会出作用域。
5. 异常处理catch的结构:
注意:先捕获特定的异常(基类定义或自定义),再捕获其他类型的未处理的异常(这样可防止程序因异常发生而未捕获突然终止)。
6. 使用try块的嵌套的目的
1)修改异常的类型
2)在不同的地方处理不同的异常
7.定义自己的异常类
可见使用异常处理机制可以提高程序的健壮性和可维护性。