【良いプログラマー特訓キャンプ】Java異常処理

1672 ワード

記憶力がいいのは下手な筆頭で、本を読みながら覚えたほうがいいです.
基本概念:
一般的な例外:
(1)算数異常.(2)オブジェクトにメモリ領域を開かないと空のポインタ異常が発生する.(3)ファイル異常が見つからない
単純例外の例:
<span style="font-size:14px;">public class TestException
{
public  static void main(String args[]){
int arr[]=new int[5];
arr[10]=7;
System.out.println("end of main() method!!");
}
}</span>

コンパイル時にエラーは発生せず、実行中にエラーが発生します.配列が境界を越えているため、プログラムが明らかになっていますが、実際の操作では、ループなどで境界を越えて知らないことが多いです.
例外の処理:
例外処理はtry,catch,finallyの3つのキーワードからなるブロックからなる
try{
チェックするプログラム文;
}catch(異常クラスオブジェクト名){
異常発生時の処理文;
}finally{
必ず実行されるプログラムコード;
}
例外クラスの継承フレームワーク
異常クラスはjavaの2つのクラスに分けることができる.lang.Exceptionクラスとjava.lang.Errorクラス.この2つのクラスはいずれもクラスjavaから継承する.lang.Throwableクラス.
習慣的にErrorとExceptionクラスを総称して異常クラスと呼ぶが,両者は本質的に異なる.
Errorクラスは、Java仮想マシンのエラーなど、プログラムの実行に深刻な影響を及ぼすエラーを処理するために使用されます.
Exceptionクラスには一般的な異常が含まれており,これらの1回が捉えられた後に適切に処理できる.
例外を放出:
プログラムに異常を投げ出すには、必ずthrowというキーワードを使います.
throw異常クラスインスタンスオブジェクト;
<span style="font-size:14px;">public class TestException
{
public static void main(Sring args[])
{
int a=4, b=0;
try
{
if(b==0)
throw new ArithmeticException("QQQQQQQ");
else
System.out.println(a+"/"+b+"="+a/b);
}
catch(ArithmeticException e){
System.out.println("WWWW"+e);
}
}
}</span>

実行すると例外が放出されます.
メソッドを指定して例外を放出します.
メソッド名(パラメータ....)throws異常類1,異常類2....
カスタム例外クラス:
さまざまな例外を処理するために、Javaは継承方式で独自の例外クラスを作成することができ、以下のように宣言します.
class異常名称extends Exception
{}
例は書かないで、本の上で書くのはすべて比較的に簡単で、やはりネット上の比較的に豊富です.