Java异常处理

Posted gnos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java异常处理相关的知识,希望对你有一定的参考价值。

1.异常

  是指在程序在运行过程中所发生的不正常事件,它会中断正字运行的程序;

  异常处理:Java编程语言使用异常处理机制来为程序所发生的不正常事假提供错误处理的能力;

 

技术图片

 

  Throwable:Java中所有异常的父类Throwable(可抛出);

                    Error(错误)和Exception(异常)是Throwable的两个重要子类;

  Error(错误):是程序代码无法处理的机制,大多是是Java运行时系统内部错误,应用程序不会抛出此类对象;

  Exception(异常):是程序代码本身可以处理的异常,对异常处理以后代码不会终止运行;

            运行异常:都是RuntimeException类及其子类,如NullPointerException(空指针异常),IndexOutOfBoundsException(数组下标越界异常)

                              该异常的特点是:Java并不会检查此类异常,就算没有捕捉处理(try catch )和抛出异常处理(throw),编译依旧会通过;

            非运行异常(编译异常):是RuntimeException以外的异常,类型上都属于Exception类及其子类。这是必须要处理的异常,如果不处理无法通过编译,比如一

                              些强制异常,线程中的异常处理、IO流中的异常处理。

 2.异常处理的5个关键字

     (1)try   执行可能发生异常的语句或者代码块;

             ①:必须在try之后添加catch或finally块,至少有一个块;

             ②:遵循顺序:若代码同时运行catch和finally块,catch块必须在try后面;

             ③:catch块以相应的异常类的类型相关;

    (2)catch  捕获异常

              技术图片

 

   (3)finally  无论代码是否出现异常,finally后的代码块总会执行,除非遇到exit()方法;

                       当程序中有return的时候,先执行finally的内容,再去执行return的内容;

                技术图片

 

     (3)throws  用于方法声明是抛出异常

                          在程序中可能出现的异常,我们在方法名后声明,但是这样并没有真正的处理,只是将异常抛给了调用者去处理,如果调用者不处理话依然会出现异

                           常,除非使用try-catch;

      (4) throw 抛出异常

                     如果程序代码try catch处理不了某种异常(比如异常并不是该代码块产生,只有抛出)、不知道如何处理该异常、不想try catch,都可以使用抛出。但是,

                      只要程序不停的调用这个方法,就要不停的抛出。

            技术图片

 

  3.自定义异常

  (1).通过继承Exception类声明自己的异常类

  (2)在方法适当的位置,生成自定义异常的实例,并用throw抛出

  (3)在方法声明部分用throws语句声明该方法可能抛出异常

 

          

 

以上是关于Java异常处理的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中的异常处理机制的原理

java中的异常处理的基本结构

大一Java异常处理问题

Java异常处理

Java中的异常处理机制的简单原理和应用。

Java程序设计异常处理