异常处理
任何完美的应用程序和技术高明的程序员,都不能保证程序绝对不出差错,所以我们需要异常处理。通俗而言,程序中的错误可以分为以下3类:
在程序编译时产生的错误,通常由错误的语法或使用的资源不存在等原因引起。产生编译错误时程序无法运行,编译错误可以通过集成开发环境VS发现。
逻辑错误,不影响程序的正常运行,但会导致实际运行结果与预期结果不一致。通常是算法出现了错误,可以通过调试程序,对比期望值和实际值发现:
在程序运行过程中,干扰程序正常运行时产生的错误称为异常。异常是无法避免的,但是能够预计。为了使应用程序出现异常时不至于崩溃终止,必须对可能出现异常的代码进行异常处理。
异常处理的简单结构
try语句块如果发生异常,会在多个catch中寻找相应的异常类型,进入到相应catch代码块中。
常见异常类型(所有的异常类型都继承自Exception基类):
异常类 | |
System.IO.IOException | |
System.IndexOutOfRangeException | |
System.ArrayTypeMismatchException | |
System.NullReferenceException | 处理当依从一个空对象时生成的错误。 |
处理当除以零时生成的错误。 | |
处理在类型转换期间生成的错误。 | |
处理空闲内存不足生成的错误, | |
处理栈溢出生成的错误。 | |