好记性不如烂笔头,一边看书一边记:
基本概念:
常见的异常:
(1)算数异常。(2)没有给对象开辟内存空间时会出现空指针异常。(3)找不到文件异常
简单异常范例:
<span style="font-size:14px;">public class TestException { public static void main(String args[]){ int arr[]=new int[5]; arr[10]=7; System.out.println("end of main() method!!"); } }</span>编译时候不会出错,运行会出错,因为数组越界,程序做的很明显,但是在实际操作中,往往会因为循环什么的,造成越界而不知道。
异常的处理:
异常处理由try、catch与finally等3个关键字所组成的程序块组成
try{
要检查的程序语句;
}catch(异常类 对象名称){
异常发生时的处理语句;
}finally{
一定会运行到的程序代码;
}
异常类的继承构架
异常类可以分为两大类:java.lang.Exception类与java.lang.Error类。这两个类均继承自类java.lang.Throwable类。
习惯上将Error与Exception类统称为异常类,但是两者在本质上还是不同的。
Error类专门用来处理严重影响程序运行的错误,比如Java虚拟机出错;
Exception类包含了一般性的异常,这些一场被捕捉到之后可以妥善的处理。
抛出异常:
在程序中抛出异常,一定要用到throw这个关键字。
throw 异常类实例对象;
<span style="font-size:14px;">public class TestException { public static void main(Sring args[]) { int a=4, b=0; try { if(b==0) throw new ArithmeticException("QQQQQQQ"); else System.out.println(a+"/"+b+"="+a/b); } catch(ArithmeticException e){ System.out.println("WWWW"+e); } } }</span>运行将抛出异常。
指定方法抛出异常:
方法名称(参数....) throws 异常类1,异常类2....
自定义异常类:
为了处理各种异常,Java可通过继承方式编写自己的异常类,声明如下
class 异常名称 extends Exception
{}
例子就不在写了,书上写的都比较简单,还是网上的比较丰富。