--/--/-- (--) スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |


2011/06/13 (Mon) JAVA基礎16日目(例外処理)

prog16.jpg
prog16-2.jpg

実行結果

prog16-0.jpg

◆例外
◆finallyブロック
◆例外のクラスと出力
◆例外クラスの宣言
◆例外の送出

例外

例外がおきるとプログラムが途中で強制終了される。
例外処理をすることでそれを回避することができる。

例外処理の構文

try{
例外の発生を調べる文;
}
catch(例外の内容 変数名){
例外が起きたときに処理する文;
}

①tryブロック内で例外が起こると処理を中断
②例外の内容がcatchブロックに書かれたものと同じならブロック内の処理

※tryブロック内で例外が起きていなければcatchブロックはスルーされる。
※catchブロックは複数記述することできる。

何のエラーが起きるか分からない場合は「例外の内容」を「Exception」のみにしておく。こうすることで処理がエラーで止まることを避けることができる。

try{
}
catct(Exception e){
}

finallyブロック

try{
}
catch(){
}
finally{
}

finallyブロックの内容は必ず実行される。例外が起きても起きなくても、最後に必ず行わなければならない処理はfinallyブロックに記述しておく。

例外のクラスと出力

catch(例外のクラス 変数)

この変数を出力すると、どんな種類の例外が起きたのかを出力することができる。catchを「Exception」のみで指定し発生したエラー内容を把握したい場合や、catchブロックは複数記述することができるので、そのときに発生した例外の種類を特定したいときに便利。

例外クラス
Throwableクラス スーパー
Exceptionクラス サブ(スーパー)
RuntimeExceptionクラス サブ
・・・

例外クラスの宣言

例外クラスはThrowableクラスのサブクラス(Exceptionクラスなど)を拡張して作る。

class XXXXX extends Exception
{
}

例外の送出

例外クラスを宣言し例外を送出するクラスを設計しておくと、そのクラスを利用する人がエラーに対する処理を記述できるようになるといったメリットがある。

例外を送出するメソッドの構文
戻り値の型 メソッド名(引数リスト) throws 例外クラス

public void setNum(int i,double d) throws 例外クラス
{
if(i<0){
例外クラス e = new 例外クラス();
throw e;
}
}

サンプルコード

class CarException extends Exception
{
}

class Car
{
private int num;
private double gas;

public Car()
{
num = 0;
gas = 0.0;
System.out.println("車を作成しました");
}
public void setCar(int n, double g) throws CarException
{
if(g<0){
CarException ce = new CarException();
throw ce;
}
else{
num = n;
gas = g;
System.out.println("ナンバーを"+num+"、ガソリン量を"
+gas+"にしました");
}
}
public void show()
{
System.out.println("車のナンバーは"+num);
System.out.println("車のガソリン量は"+gas);
}
}

class Sample
{
public static void main(String[] args)
{
Car car1 = new Car();
try{
car1.setCar(4545,-69);
}
catch(CarException ce){
System.out.println(ce+"の例外が送出されました");
}

car1.show();
}
}

プログラミング | trackback(0) | comment(0) |


<<JAVA基礎17日目(ストリーム) | TOP | JAVA基礎 15日目(抽象クラスとインターフェイス)>>

comment











管理人のみ閲覧OK


trackback

trackback_url
http://kononushi.blog46.fc2.com/tb.php/512-7796d3cb

| TOP |

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。