zoukankan      html  css  js  c++  java
  • java中的异常

    1.java异常的概念 

      异常即是程序运行过程中产生的错误,java中的异常类继承关系如下:

     

      Error:程序运行过程中出现的内部系统错误,一旦出现这种错误只能通知用户出现此种错误,无法对此种错误进行处理

      RuntimeException:访问空指针,数组越界访问等。出现此种错误肯定是你的问题,出现此种问题是因为你在程序中未进行相应检查来避免异常。

      其他异常:试图打开一个不存在的的文件,试图在文件尾部读取数据。

      Java中的异常可以分为以下两种类型:

      (1)未检查异常:RuntimeException,Error

      (2)已检查异常:其他异常

      java中的异常处理机制主要是处理程序过程中出现的已检查异常。

    2.异常基类

      Throwable

      {

        Throwable(){}

        Throwable(String message){}

        String getMessage(){}

      }

      Throwable是异常的基类,Throwable基类有两个构造函数默认无参构造函数和一个带string参数的构造函数。但是在自定义自己的异常类的时候,一般都是继承Exception类,一般都是加上这两个构造函数。Throwable类里面还有一个getMessage()方法,这个方法可以获得异常的相关信息。

      

    3.java中异常的使用

      (1)异常的声明

      void Fun()throws Exception

      {

      }

      此种语法表示声明此方法将抛出一个异常,在此方法中便可以处理或者抛出该异常及其子类异常,一个方法中应该尽量声明该方法中会出现的已检查异常。

      (2)异常的抛出

      void Fun() throws Exception

      {

        throw new Exception();

      }

      抛出异常时需抛出异常的实例

      (3)异常的捕捉

      void Fun() throws Exception

      {

        try{

          throw new Exception();

        }

        catch(IOException e){

        }

        catch(Exception e){

        }

        finally{

        }

      }

      使用try catch语句对异常进行进行捕捉,这两个关键字必须成对出现,try中抛出异常,catch中才能进行对捕捉到的异常进行处理。try抛出异常后,将不再执行抛出异常后面的语句,转到catch块中去执行catch中的语句。

      如果在程序中使用了某种资源,但是程序在运行过程中出现了错误。这时需要释放资源的话,就需要使用finally语句。在程序出现错误后,程序进入到catch语句中执行,然后便会去到finally语句中执行,便可以在finally中释放资源。无论程序中是否出现错误,都会在执行完try和catch中语句后执行finally中的语句。

      一个try可以有多个catch语句,try语句中产生的错误的信息对于catch里面的错误类型进行匹配,匹配到最佳的错误然后进入到这个catch语句块中执行相关的语句。

      在有些时候我们需要在try语句中使用资源,在finally语句块中释放在try语句块中使用的资源。但是有时候当资源使用出错时,finally释放资源也有可能出错,这时候就需要在外层在嵌套一个try,catch语句去捕获释放资源的异常。这样子实现起来非常麻烦。此时就可以采用try(){}语句,在()里面创建需要释放的资源。之后如果在操作过程中出现了异常,便会抛出这个异常,进行资源关闭释放操作,而当资源关闭释放出现异常时,此时便会抑制这个异常,将异常使用addSuppressed方法添加到一个资源释放异常列表中,不再进行抛出。可以使用getSuppressed方法获取列表中的异常。

  • 相关阅读:
    15 Django组件-中间件
    Android学习笔记-Dialog详解
    python爬取世界疫情信息到Mysql
    《构建之法》阅读笔记3
    团队项目--校园百晓生
    团队项目--校园百晓生
    php安装配置及问题解决
    《构建之法》阅读笔记2
    云服务器配置(转载)
    第五周总结
  • 原文地址:https://www.cnblogs.com/huangweikun/p/5037543.html
Copyright © 2011-2022 走看看