例外処理
try-catch-finally
import java.io.*;
class sample04{
public static void main(String[] args){
try{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.print("入力=");
String a = br.readLine();
int b = Integer.parseInt(a);
System.out.println("出力=" + b);
}catch(Exception ex){
System.out.println(ex.toString());
}finally{
System.out.println("終了");
}
}
}
try~catch~finally
try :チェックする処理を記述
catch :例外時の処理を記述
finally:完了時の処理を記述
throws
例外が発生した場合、呼び出し元のメソッドでチェック
import java.io.*;
class sample05{
public static void main(String[] args){
try{
int a = input();
System.out.println("出力=" + a);
}catch(Exception ex){
System.out.println(ex.toString());
}finally{
System.out.println("終了");
}
}
public static int input() throws Exception{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.print("入力=");
String a = br.readLine();
int b = Integer.parseInt(a);
return b;
}
}
メソッド名に
throws 例外処理名:で上位のメソッドへ例外ハンドラを渡す
throw
import java.io.*;
class sample06{
public static void main(String[] args){
try{
check();
}catch(sampleException ex1){
System.out.println(ex1.toString());
}catch(Exception ex99){
System.out.println(ex99.toString());
}finally{
System.out.println("終了");
}
}
public static void check() throws sampleException{
int a = 10;
if(a == 10){
throw new sampleException("例外発生");
}
}
}
// 追加例外処理
class sampleException extends Exception{
sampleException(String str){
super(str);
}
}
Exceptionを継承することで独自の例外処理を作成出来る
throw new 例外処理名で任意に例外処理を起こすことが出来る
最終更新:2012年09月02日 10:21