例外処理

  try、catch



通常のC の関数を使う場合の発想と少し違いますが、エラー処理である事に間違いはありません。

C の関数では目的の処理に失敗すると、戻り地等でその状態を知り、次のステップに移るというコーディング
を行います。よって、プログラマの致命的な失敗がなければプログラムは継続して実行されます。

しかし、java では「エラー」と定義された状態になると、プログラムの実行は中止されてしまいます。
つまり、プログラマが途中で中止されないアプリケーションを作成する為の手段として用いるのが
try、catch であり、C に慣れたプログラマが java を始める時に抱える最も大きな悩みのタネでもあります。
あまり深く考えない事です。エラー処理のテクニック、複数の catch ブロックや finally プロックの使い方等
が実際存在するでしょうが、それらは開発毎に方針というものがあるはずです。その時に覚えれば良いでしょう。



  ゼロ割り算



C では致命的なエラーです。そのような事にならないようにコーディングしますが、
java では実行が中止されるエラーのうちの一つです

  
int a = 1;
a = a / 0;

-------------------------------------------
java.lang.ArithmeticException: / by zero
  

例外は、ArithmeticException ですが、特別なメソッドも無いので以下のようにして例外処理を書けます

  
int a = 1;

try {
	a = a / 0;
}
catch( Exception e ) {
	System.out.println( e.getMessage() );
}
  
e はオブジェクトなので参照です。getMessage するだけならば、ArithmeticException である必要はありません



  null の不正な使用

以下は2行目でエラーになります

  
String a = null;
String b = new String(a);

-------------------------------------------
java.lang.NullPointerException
  
null の正当な使用は、オブジェクトに null を代入するか、オブジェクトと null を比較する場合
と考えれば良いと思います

  
String a = null;
String b = null;

try {
	b = new String(a);
}
catch ( Exception e ) {
	b = "";
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ