第十一章 错误和异常

1、vb6中主要使用 On Error GoTo语句来处理异常,c++程序员会留意异常是因为异常会因此降低性能(

如何降低?),c#中不会因为异常降低性能(?)

2、一般情况下异常类没有特定的命名空间,异常类应放在生成他们的类所在的命名空间中。

3、StackOverflowException 如果一个方法连续的递归调用它自己,就可能发生溢出,这是一个致命的错

误,它会禁止应用程序执行除中断外的其他任务,甚至也不可能执行finally块

4、如果在finally块中放了return语句,编译器就会报告错误。

5、计算机如果遇到一个throw语句,就会立即退出堆栈中所有的方法调用,中间方法的所有局部变量都会

出作用域。

6、没有参数的catch块处理的是其他没有用c#编写的代码(甚至根本不是托管代码)抛出的异常,在c#

语言中,只有派生于System.Exception的类实例,才能作为异常抛出,但其他语言没有这个限制,例如,

c++可以把任何变量当作异常抛出。

7、try中抛出异常原因有二,一:修改所抛出异常的类型;二:在代码不同的地方处理不同异常。

8、StreamReader的ReadLine()如果到达文件末尾,就会返回一个null。