异常也称例外,是在程序运行中发生的,会打断程序执行的事
件,常见的异常有算术异常,空指针异常,找不到文件异常。
为了加强程序的健壮性,必须对可能发生的异常事件作出处理
。简单的异常范例:
public class TestException{
public static void main(String[] args){
int arr[]=new int[5];
arr[10]=7;
System.out.println("end of main() method");
}
}
这个程序会抛出数组下标越界的异常,阻止程序的执行。
关于处理异常:
try{
要检查的程序语句:
。。。。。。。
}
catch(异常类 对象名称){
异常发生时的处理语句;
}finally{
一定会运行到的程序代码;
}
它的执行步骤:
1.try程序块若有异常发生,程序的运行就中断,并抛出异常类
所产生的对象。
2.抛出的对象如果属于catch()括号里的异常类,catch就会
捕捉异常,然后进入到catch块里运行。
3.无论try程序块是否捕捉到异常,或者捕捉的异常是否与
catch()括号里异常相同,最后一定会运行到finally里的程
序代码
关于以上代码可用以下代码替换arr【10】=7;语句
try{
int arr[10]=7;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("数组超出绑定范围");
}finally{
System.out.println("这里的代码一定会执行");
}
异常类继承框架
Throwable
|
-----------
| |
Error Exception
|------------------------------
IOException | |
RuntimeException ..........
|
----------------------------------------
| |
ArithmeticException IndexOutOfBoundsException
| |
...............
在程序中抛出异常:
throw 异常类;
例如:
public class TestException{
public static void main(String[] args){
int a=4; b=0;
try{
if(b=0)
throw new ArithmeticException("一个算术异常");
else
System.out.println(a+"/"+b+"="+a/b);
}catch(ArithmeticException e){
System.out.println("抛出异常为"+e);
}
}
}
指定方法抛出异常类
方法名称 (参数....)throws 异常类1,异常类2...
自定义异常类
class 异常名称 extends Exception
{
.......
}