前言
----------------------------------------------------------------------------------------------------------------------------------异常处理这几个字通俗易懂,根据字面的意思就是处理程序运行时的异常。提起异常处理我们就会想到try...catch... 但如果你仔细想想就会发现,我们干嘛要用代码把异常创建和抛出呢?直接调试不就行了?所以,在学习异常处理的时候,我们首先要清楚异常处理是干嘛的。
正文
---------------------------------------------------------------------------------------------------------------------------
异常处理是干嘛的?
它的作用体现在三个阶段:在程序开发过程中,它做到了尽量暴露程序的问题,使开发者尽可能地解决这些可能的异常;系统发布后,它主要作用是尽可能的隐藏未解决的程序问题;发生异常时,它把这些用户可能看到的异常代码转化成了友好提示显示给用户。
什么是异常
在编程中,错误事件对象可能导致程序运行错误称为异常。异常是程序中的一些错误,但并不是所有的错误都是异常。
异常的分类
类型 | 造成的原因 |
编译错误 | 1.大小写混淆 2.数据类型与变量类型不符 3.使用未声明的变量 |
运行错误 | 1.数组下标越界 2.除数为零 |
逻辑错误 | 1.超出数据类型的取值范围 2.语句体忘记加大括号 |
异常处理的语句
1.try...catch...finally语句
try中包含可能会抛出异常的代码,如果try块中的代码发生异常,则会执行catch处理程序。catch后面的小括号是要捕获的异常的类型。无论异常发生与否,finally所包含的代码都会执行。
//使用异常处理机制的示例 public void test_withtry() { int[] arr = { 0, 1, 2, 3, 4, 5 }; try { for (int i = 0; i <= 6; i++) //i==6时,越界了! { Console.WriteLine(arr[i]); } } catch (Exception e) { Console.WriteLine(e.Message); } finally { Console.WriteLine("Exit test_withtry()"); } }
2.创建和抛出自定义的异常处理
定义自己的异常类,优点是可以在异常处中抛出和捕获自定义异常信息。大致方法是先自定义一个异常类,然后在另一个类中用throw new [自定义类名](); 来抛出异常。这里不做详细介绍。