Java 異常拋出

2018-01-19 17:36 更新

Java面向?qū)ο笤O(shè)計(jì) - Java異常拋出


如果一段代碼可能拋出一個已檢查的異常,我們有兩個選擇:

  • 使用try-catch塊處理已檢查的異常。
  • 在方法/構(gòu)造函數(shù)聲明中用throws子句指定。

語法

throws子句的一般語法是

<modifiers> <return type> <method name>(<params>) throws<List of Exceptions>{
    
}

關(guān)鍵字throws用于指定throws子句。

throws子句放在方法參數(shù)列表的右括號之后。

throws關(guān)鍵字后面是以逗號分隔的異常類型列表。


例子

下面的代碼展示了如何在方法的聲明中使用throws子句。

import java.io.IOException;

public class Main {
  public static void readChar() throws IOException {
    int input = System.in.read();
    
  }
}

這里是顯示如何使用它的代碼。

例2

import java.io.IOException;

public class Main {
  public static void readChar() throws IOException {
    int input = System.in.read();
    System.out.println(input);
  }

  public static void main(String[] args) {
    try {
      readChar();
    } catch (IOException e) {
      System.out.println("Error occurred.");
    }
  }

}

上面的代碼生成以下結(jié)果。

例3

我們可以繼續(xù)拋出異常。

import java.io.IOException;

public class Main {
  public static void readChar() throws IOException {
    int input = System.in.read();
    System.out.println(input);
  }

  public static void main(String[] args) throws IOException {
    readChar();
  }
}

上面的代碼生成以下結(jié)果。

拋出異常

我們可以使用throw語句在我們的代碼中拋出異常。

throw語法的語法是

throw <A throwable object reference>;

throw是一個關(guān)鍵字,后面是一個對可拋出對象的引用。

throwable對象是一個類的實(shí)例,它是Throwable類的子類,或Throwable類本身。

以下是throw語句的示例,它拋出一個IOException:

// Create an  object of  IOException
IOException e1  = new IOException("File not  found");
// Throw the   IOException 
throw  e1;

以下是throw語句的示例,它拋出一個IOException:

// Throw an  IOException
throw  new IOException("File not  found");

如果我們拋出一個被檢查的異常,我們必須使用try-catch塊來處理它,或者在方法或構(gòu)造函數(shù)聲明中使用throws子句。

如果您拋出未經(jīng)檢查的異常,這些規(guī)則不適用。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號