异常(0)----异常概念、分类

版权声明:未经同意,严禁转载 https://blog.csdn.net/pengchengliu/article/details/82695221

 一、异常介绍                                                                                                                                                   点击此处返回总目录

二、错误和异常的区别

三、异常的继承体系

四、异常的分类

五、感想

一、异常的概念

什么是异常?异常是指java代码在运行时期发生的问题。如:除0溢出、数组下标越界、所要读取的文件不存在等。

设计良好的程序应该在异常发生的时候提供处理这些异常处理的方法,使得程序不会因为异常的发生而阻断或者产生不可预见的结果。

在java当中,把异常信息封装成了一个类。当发生问题的时候,就会创建一个异常类的对象,并抛出异常相关的信息。【例1】【例2】

当接收到异常对象时,会寻找能够处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。

例1:

package cn.itcast.demo04;

public class Test {
    public static void main(String[] args) {
        int arr[] = {1,2,3};
        System.out.println(arr[3]);                      //数组下标越界异常。
    }
}

运行结果:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    at cn.itcast.demo04.Test.main(Test.java:6)

分析:main执行时出现了异常。main中没有捕获这种异常的代码,所以这个异常抛出给了JVM,JVM将异常的信息以红色字体输出到控制台,并将程序停止。

例2:

package cn.itcast.demo04;

public class Test {
    public static void main(String[] args) {
        System.out.println(3/0);                          //除0溢出异常。
    }
}

运行结果:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at cn.itcast.demo04.Test.main(Test.java:5)

二、错误和异常的区别

那么异常和错误什么区别?

        异常:相当于小问题,将异常处理掉,程序可以继续执行。

        error:是比较严重的问题,不改代码是不可能的。后果比较严重,只能修改源代码。

三、异常的继承体系

Throwable类是Java中所有错误或异常的父类。Throwable类的直接子类有Error类、Exception类。

Error类是所有错误的父类。Error是系统内部错误,我们管不了。这一类是我们处理不了的错误。

Exception类是所有异常的父类。Exception是我们可以处理的异常。

        Exception类下面还有一个比较重要的子类:RuntimeException类。

异常继承体系总结:


接下来重点讲解:Exception、RuntimeException。对于Error就不再多说了,因为如果出现了Error就改代码吧。

 

 

四、异常的分类

异常分为编译异常和运行时期异常

       编译异常:当调用了抛出异常的方法时,不处理就编译失败。处理方式有两种(try...catch捕获处理、throws继续抛出)

       运行异常:凡是抛出的是RuntimeException或者他的子类。不需要用try...catch处理,让JVM处理,然后修改程序。

 

 

五、感想

1.这一章虽然简单,但是比较绕,笔记不好整理,花了很长时间才整理完。感谢我的女朋友李静的支持~~

2.因为java往往在出错的时候回告诉出的是什么样的错,在哪一行出的错,所以观察错误的名字和行号非常重要。

3.要敢于调试!程序是调出来的,不是写出来的!!

猜你喜欢

转载自blog.csdn.net/pengchengliu/article/details/82695221