1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | class Throws1Demo { public int divide( int a, int b) throws ArithmeticException { return a / b; } public static void main(String[] args) { Throws1Demo t = new Throws1Demo(); try { System.out.println(t.divide( 15 , 20 )); System.out.println(t.divide( 10 , 2 )); System.out.println(t.divide( 63 , 9 )); System.out.println(t.divide( 2 , 0 )); } catch (ArithmeticException ex) { System.out.println( "發生算術錯誤" ); } } } /* 《程式語言教學誌》的範例程式 檔名:Throws1Demo.java 功能:示範物件導向的基本觀念 作者:張凱慶 時間:西元 2010 年 10 月 */ |
編譯後執行,結果如下

第 2 行
2 | public int divide( int a, int b) throws ArithmeticException { |
這裡 divide() 宣告丟出 ArithmeticException 的例外,因此呼叫 (call) divide() 的 main()
2 3 4 5 6 7 8 9 10 | try { System.out.println(t.divide( 15 , 20 )); System.out.println(t.divide( 10 , 2 )); System.out.println(t.divide( 63 , 9 )); System.out.println(t.divide( 2 , 0 )); } catch (ArithmeticException ex) { System.out.println( "發生算術錯誤" ); } |
有呼叫 divide() 的部份就必須放在 try-catch 陳述 (statement) 之中。
如果一個方法需要丟出多個例外,如擴充 divide() 的功能,使 divide() 除了有可能會發生 ArithmeticException 之外,也可能發生 IOException ,這時,多個例外類別 (class) 以逗點分開即可,如下
public int divide( int a, int b) throws IOException, ArithmeticException { //方法的程式碼 } |
中英文術語對照 | |
---|---|
方法 | method |
關鍵字 | keyword |
例外 | exception |
呼叫 | call |
陳述 | statement |
類別 | class |
沒有留言:
張貼留言