zoukankan      html  css  js  c++  java
  • JAVA例外处理

    捕获例外:

      Java产生例外对象后,将去寻找能够处理此例外的方法并交之处理,这一过程成为捕获(catch)。若找不到,运行时系统将终止

    抛弃例外:

      一个方法若不知道如何处理出现的例外,可声明抛弃(throws)

    jdk中,每个包都定义了例外类,所有的例外类都直接或间接继承于Throwable类。

    java中的例外类可分为两大类:

      error

      exception

        运行时例外

            继承于RuntimeException的类都属于运行时例外,如算数(除零),数组越界等,由于例外产生的位置是未知的,java编译器允许程序员在程序         中不对它们作出处理。

        非运行时例外

            除运行时例外,便是非运行时例外,如FIleNotFindException(文件未找到例外),java编译器要求对这种例外必须作出处理,捕获例外或抛弃例外

    例外的处理

      捕获例外

        通过try-catch-finally语句实现

        try:try语句所限定的代码块在执行过程当中可能会产生例外对象并抛弃。

        catch:每个try块可以伴随一个或多个catch语句,用于处理try块中所生成的例外事件。

               catch语句只需一个形参指明它所能够捕获的例外类型,这个类必须是Throwable的子类,运行时系统通过参数值把被抛弃的例外对象传递给catch                                    块。

            类Throwable提供了getMessage()方法:得到异常的相关信息,printStackTrace()用来跟踪事件发生时执行堆栈的内容。

             catch语句的顺序,第一个例外捕获到后,剩下catch不再捕获。故catch安排的顺序应该为从特殊到一般。即先安排子类在安排父类。

                finally:为统一的出口,无论有无例外,都会执行。

       抛弃例外:

          如果一个方法中生成了一个例外,但是这一方法并不确切地知道该如何处理这一异常事件。

                 此时,这一方法应当声明抛弃例外,使得例外对象可以从调用栈向后传播,直到有合适的方法捕获它为止。

             

                     声明抛弃:

                       声明抛弃例外实在一个方法声明中的throws子句中指明的。

                           public int read() throws IOException {

                        ...

                            }

                     抛出例外:

                          抛出例外就是产生例外对象的过程。首先生成例外对象,由虚拟机或者某些类的实例生成。通过throw语句实现。

                          IOException e = new IOException();

                          throw e;

        

      

  • 相关阅读:
    Java实现 LeetCode 802 找到最终的安全状态 (DFS)
    Java实现 LeetCode 802 找到最终的安全状态 (DFS)
    Java实现 LeetCode 802 找到最终的安全状态 (DFS)
    Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
    Java实现 LeetCode 803 打砖块 (DFS)
    Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
    Java实现 LeetCode 803 打砖块 (DFS)
    Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
    英文标点
    post sharp 与log4net 结合使用,含执行源码 转拷
  • 原文地址:https://www.cnblogs.com/forstudy/p/2434425.html
Copyright © 2011-2022 走看看