在编写程序时,不仅要注意程序代码的准确性与合理性,还要处理程序中可能出现的异常情况。在现代编程语言中,异常处理是解决这些问题的主要方法。异常处理是一种功能强大的机制。
在.NET类库中,提供了针对各种异常情况所设计的异常类,这些类包含类异常的相关信息。配和异常处理语句,应用程序能够轻易的避免程序执行时可能中断应用程序的各种错误。.NET中公共异常类如下表所示:
异常类 | 说明 |
System.ArithmeticException | 在算术运算期间发生的异常。 |
System.ArrayTypeMismatchException | 但存储一个数组时,如果由于被储存的元素的实际类型与数组的实际类型不兼容而导致存储失败,就会引发此异常。 |
System.DivideByZeroException | 在试图用零除整数值是引发 |
System.IndexOutOfRangeException | 在试图用小于0或超出数组界限的下标索引数组时引发。 |
System.InvalidCastException | 当从基类型或接口到派生类型的显示转换在运行时失败,就会引发异常。 |
System.NullReferenceException | 在需要使用引用对象的场合,如果使用null引用,就会引发此异常。 |
System.OutOfMemoryException | 在分配内存的尝试失败时引发 |
System.OverflowException | 在选中的上下文中所进行的算术运算、类型转换或转换操作导致溢出时引发的异常。 |
System.StackOverflowException | 挂起的方法调用过多而导致执行堆栈溢出时引发的异常。 |
System.TypeInitializationException | 在静态构造函数引发异常并且没有可以捕捉到它的catch子句时引发。 |
1)
throw语句、
2)
try…catch语句、
3)
try…catch…finally语句。
throw语句用于主动引发一个异常,使用throw语句可以在特定的情形下,自行抛出异常。
1: throw ExObject; //ExObject是所要抛出的异常对象,该对象是派生自System.Exception类的类对象。
1: try
2: {
3: //被监控的代码
4: }
5: catch(异常类名 异常变量)
6: {
7: //异常处理
8: }
1: try
2: {
3: //被监控的代码
4: }
5: catch(异常类名 异常变量)
6: {
7: //异常处理
8: }
9: finally
10: {
11: //无论监控代码异常与否都要执行的代码
12: }