ダークホースプログラマー_いじょうきこう

2971 ワード

-----------
androidトレーニング
JAvaトレーニング、java学習型技術ブログ、あなたとの交流を楽しみにしています!---------
異常とは?
例外は、プログラムが実行中に発生した非正常な状態です.
いじょうシステム
Throwable
  |--Error
  |--Exception
       |--RuntimeException
errorとexceptionの違いは?
Errorは、メモリオーバーフローがプログラムの処理を期待できないなど、リカバリが不可能ではないが困難な場合の深刻な問題を示しています.
Exceptionは実装や設計の問題です.つまり、プログラムが正常に動作している場合、発生しません.
運転時異常と一般異常の違いは?
例外は、プログラムの実行中に発生した非正常な状態です.実行時異常はjava仮想マシンの通常の操作で発生する異常であり、一般的な実行エラーです.JAvaコンパイラでは、メソッドが発生する可能性のある非ランタイム例外を宣言または放出する必要がありますが、キャプチャされていないランタイム例外を放出する必要はありません.
throwとthrowsキーワード
throw:メソッド内に例外オブジェクトを放出します.
throws:メソッドに発生する可能性のある例外を宣言します.
例外処理文の形式

//   
try
{
	
}
catch ()
{
}
//   
try
{
	
}
catch ()
{
}
finally
{

}
//   
try
{
	
}
finally
{
}

finallyは常に実行され、通常はリソースを閉じる動作をします.Sytem.exit(0)のみに遭遇します.文の場合finally文は実行されません.
例外が処理されていない場合、仮想マシンはデフォルト処理を行い、デフォルトの例外処理メカニズムを呼び出し、プログラムは終了します.
マルチ例外処理
1.異常を宣言する場合、より具体的な異常を宣言することを提案し、より具体的な処理を行う.
2.相手がいくつかの異常を宣言し、いくつかのcatchブロックに対応する
  個のcatchの例外に継承関係がある場合は、親の例外catchブロックを一番下に配置し、余分なものを定義しないでください.
  catchブロック.
カスタム例外
プロジェクトに特有の問題が発生し、これらの問題はjavaによって記述されず、オブジェクトをカプセル化するため、これらの特有の問題についてはjavaの問題に従ってカプセル化することができます.固有の問題をカスタムの例外パッケージ化します.これがカスタム例外です.Exception、
カスタム例外情報
親クラスはgetMessageなどの例外情報の操作を完了しているため、子クラスは構築時に親クラスに例外情報をsuper文で渡すだけで、getMessageメソッドでカスタムの例外情報を直接取得できます.

class FuShuException extends Exception
{
	FuShuException(String msg)
	{
		super(msg);
	}
}

class ExceptionTest
{

	try
	{
		//    
	}
	catch (FuShuException e)//    
	{
		System.out.println(e.toString());
	}
}

カスタム例外が発生した場合、その例外が発生しても演算を続行できない場合(エラー演算は意味がありません)、カスタム例外にRuntimeExceptionを継承させます.
子の親に異常が現れる
1.子クラスが親クラスを上書きする場合、親のメソッドが例外を放出すると、子クラスの上書きメソッドは、親クラスの相違のみを放出できます.
   常または親の異常の子クラスで、その他の異常は異常処理を行う必要があります.
2.親メソッドに複数の例外が発生した場合、子は上書き時に親例外のサブセットのみを放出します.
3.親またはインタフェースのメソッドに異常放出がない場合、子はメソッドを上書きする場合にも異常を放出することはできません.子に異常が発生した場合はtry処理を行わなければなりません.絶対に放出してはいけません.
異常なメリット
1.問題をカプセル化
2.通常フローコードと問題処理コードを分離する
異常処理の原則
1.処理方法は2種類あり、宣言またはキャプチャ(tryまたはthrows)
2.異常を投げ出す機能を呼び出すと、数を投げ出すと数を処理し、1つのtryは複数のcatchに対応する
3.複数のcatch、親のcatchを一番下に置く
4.catchでは、printStackTrace出力文を簡単に定義したり、
  書きません.異常がキャプチャされると、ローカル機能が処理されず、catchで投げ出すことができます.
-----------
androidトレーニング
JAvaトレーニング、java学習型技術ブログ、あなたとの交流を楽しみにしています!---------