Java基础-day11:异常处理

一、异常处理的分类(执行过程中的异常分类)

1、Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源 耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性 的代码进行处理。

2、Exception: 其它因编程错误或偶然的外在因素导致的一般性问题,可以使 用针对性的代码进行处理。例如:

(1)空指针访问

(2)试图读取不存在的

(3)网络连接中断

(4)数组角标越界

二、异常概念与异常体系结构

1、运行异常:是指编译器不强制要求处理的异常

2、编译时的异常:是指编译器要求必须处置的异常

三、常见异常

1、ArrayIndexOutOfBoundsException

public class IndexOutExp {
    public static void main(String[] args) {
        String friends[] = {"lisa","bily","kessy"};
        for (int i = 0; i < 5 ; i++){
            System.out.println(friends[i]);
            //fridens[4]?
        }
        System.out.println("\nthis is the end");
    }
}

运行结果:

 

2、NullPointerException

public class NullRef {
    int i = 1;

    public static void main(String[] args) {
        NullRef t = new NullRef();
        t = null;
        System.out.println(t.i);
    }
}

运行结果:

3、ArithmeticException

public class DivideZero {
    int x;

    public static void main(String[] args) {
        int y ;
        DivideZero c = new DivideZero();
        y = 3/c.x;
        System.out.println("program ends ok!");
    }
}

运行结果:

4、ClassCastException

public class OrderWork {
    public static void main(String[] args) {
        Object obj = new Object();
        OrderWork order;
        order = (OrderWork) obj;
        System.out.println(order);
    }
}

代码如下:

 

 四、Java异常处理的机制

1、try-catch-finally

try:捕获异常的第一步是用try{…}语句块选定捕获异常的范围,将可能出现 异常的代码放在try语句块中。 

catch (Exceptiontype e): 在catch语句块中是对异常对象进行处理的代码。每个try语句块可以伴随 一个或多个catch语句,用于处理可能产生的不同类型的异常对象。
finally:不论在try代码块中是否发生了异常事件,catch语句是否执 行,catch语句是否有异常,catch语句中是否有return, finally块中的语句都会被执行。 

例一:

代码如下:

public class IndexOut {
    public static void main(String[] args) {
        String friends [] = {"lisa","lili","momo"};
        try {
            for (int i = 0;i < 5; i++){
                System.out.println(friends[i]);
            }
        }catch (ArrayIndexOutOfBoundsException e){
            System.out.println("index err");
        }
        System.out.println("\nthis is the end");
    }
}

结果如下:

 

 

2、throws+异常类型

五、总结

上游排污,下游治污

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值