异常基本概念及处理异常

2019-03-24  本文已影响0人  牛倩贱

异常:

    在java中还提供了大量的异常类,这些类都是继承自java.long.Throwable类。

                                    Throwable类的继承体系

异常基本概念及处理异常

Error类称为错误类,他表示java运行时产生的系统内部错误或资源耗尽的错误,是比较严重的,靠程序本身是不能恢复执行的。

Exception类称为异常类,他表示程序本身可以处理的错误,在开发java程序中进行的异常处理都是针对Exception类及其子类。在Exception类众多的子类中,有一个特殊的RuntimeException类,该类及其子类表示运行时异常,除了此类,Exception类下所有的子类都用于表示编译异常。

    try...catch..和finally

try..catch:异常捕获

        程序运行时,由于发生异常,程序立即终止,无法继续进行执行,为了解决这类中问题java提供了一种对异常进行处理的方式—异常捕获

            try {

                //程序代码块

            } catch (ExceptionType(Exception类及其子类)e){

                 //对ExceptionType的处理代码

            }

注意:catch代码块需要一个参数标明它能够接收的异常类型,这个参数的类型必须是Exception类及其子类。

    在try代码块中,发生异常的语句后面的代码是不会执行的,所以我们希望有些语句后的代码是否发生异常都要执行的,这样就可以在tyr...catch语句后加一个finally代码块。这样就可以在程序发生异常还是return语句结束后,后面的语句因为在finally代码块中,所以一定会被执行。finally代码块中的语句只有在一种情况下是不会执行的,那就是在try...catch后使用了System.exit(o)语句。

        System.exit(0)表示退出java虚拟机,java虚拟机停止了,任何的代码就都不能执行了。

throws关键字

    throws关键字需要写在方法声明的后面,throws后面需要声明方法中发生异常的类型,通常将这种做法称为方法声明抛出一个异常。但是如果定义方法的时候声明了抛出异常。调用者就必须在使用这个方法时进行处理,否则就会发生编译错误。

        作用:当不知道方法是否会有异常时,便使用throws关键字对外声明该方法有可能发生异常,提醒别人在调用方法时对异常进行处理。

运行时异常与编译时异常

 1.编译时异常:Exception类除了RuntimeException类及其子类都是编译时异常。

        特点:java编译器会对其进行检查,如果出现异常就必须对异常进行处理,否则程序就无法通过编译。

处理方式:a.使用try...catch语句对异常进行捕获;b.使用throws关键字声明抛出异常,调用者对其进行处理。

2.运行时异常

        RuntimeException类及其子类都是运行时异常。

        特点:java编译器不会对其进行检查,即就是当程序中出现这类异常时,即便没有使用try..catch语句捕获或使用throws声明抛出,程序也能编译通过。

        运行时间异常一般是由程序的逻辑错误引起的,在程序运行时无法恢复。

3.自定义异常

    自定义异常类必须是继承自Exception类或其子类。

上一篇下一篇

猜你喜欢

热点阅读