一、异常的概念
异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误。出现错误时观察错误的名字和行号最为重要。
package cn.javastudy.summary;
2
3 public class TestEx{
4
5 public static void main(String args[]){
6 int arr[]={1,2,3};
7 System.out.println(arr[2]);
8 /**
9 * 这里使用try……catch来捕获除以0产生的异常,其基本格式是:
10 * try{
11 statements;//可能产生异常的语句
12 ……
13 }
14 catch(Throwable-subclass e){//异常参数e
15 statements;//异常处理程序
16 ……
17 }
18 */
19 try{
20 System.out.println(arr[2]/0);
21 }catch(ArithmeticException ae){//这里是这个异常参数的类型声明,即声明这个异常是属于哪种类型的异常
22 System.out.println("系统正在维护中,请稍后!");
23 /**
24 * 这里使用printStackTrace()方法把这个错误的堆栈信息打印出来。
25 * 所谓的“错误堆栈信息”指的是这个错误有可能是上一个错误引起的,
26 * 而上一个错误又有可能是由另外一个错误引起的。到底是由哪个错误引起的,
27 * 把所有的错误信息全都打印出来就知道了。这种信息往往能给我们程序员 调试错误的提示。
28 * 这些信息很有用,因此我们往往使用这个方法把错误信息打印出来。
29 * 默认打印错误提示信息采用的也是使用这种方法打印出来的
30 */
31 ae.printStackTrace();
32 }
33 }
34 }
小结:
异常是运行期间出现的错误,运行期间出现错误以后JAVA处理这种错误的方式是首先会找相应的catch代码,看看有没有使用catch去捕获异常,如果有catch存在,那么JAVA就会自动跳到catch那里去处理异常,如果没有catch,那么JAVA将会把这个错误抛出去,然后将相关的错误信息打印出来。想用catch捕获异常时必须要写try,没有try就不能用catch,try里面写的是有可能产生异常的语句,catch里面写的是当try里面的语句运行时出现了异常的处理方式。
方法声明的时候可以指明这个方法有可能会抛出的异常类型,使用throw抛出异常,声明方法后面有throws声明的可能出现的异常一定要去捕获。