#Java 例外処理とは
1.Exception
プログラムの実行中に予期しないイベントが発生し、プログラマが期待したとおりにプログラムを正常に実行できなくなります。これはException です。例外が発生した場合、プログラムはそのままにしておいて直ちに終了し、ユーザーにエラーを出力する必要がありますか?それとも C スタイルでは、関数の戻り値を実行ステータスとして使用しますか? 。 (推奨チュートリアル: #java チュートリアル #)
2. 例外処理メカニズムJava は、
例外処理メカニズムというより優れたソリューションを提供します。
例外処理メカニズムを使用すると、例外が発生したときに、プログラムがコードの事前設定された例外処理ロジックに従って対象を絞った方法で例外を処理できるため、プログラムは通常に戻って実行を継続できます。コードの明瞭さを維持しながら、可能な限り。Java の例外は、関数内のステートメントが実行されるときに発生することも、プログラマが throw ステートメントを通じて手動でスローすることもできます。Java プログラムで例外が発生する限り、例外は対応する型のオブジェクトは例外をカプセル化するために使用され、JRE は例外を処理する例外ハンドラーを見つけようとします。
Throwable クラスは、Java 例外タイプの最上位の親クラスです。オブジェクトが Throwable クラスの (直接または間接的な) インスタンスである場合にのみ、それは例外オブジェクトとなり、例外によって認識されます。ハンドリング機構。 JDK には一般的に使用される例外クラスが組み込まれており、例外をカスタマイズすることもできます。
3. 例外処理:例外処理は受動的処理に分けられます (自分で処理できない場合は、呼び出された場所でスローをスローします)。例外は解決されず、スローされるだけです) およびアクティブな処理 (例外のキャッチ、例外のキャッチは try-catch ステートメントまたは try-catch-finally ステートメントによって実現されます)
a) パッシブな処理:
構文:
public void m1() throws 异常类名1,异常类名2{}
特徴: 責任逃れに等しいが、結局問題は解決しない。
コンパイルを通過させます。
スローされた例外が非実行時 (チェック済み) 例外である場合、このメソッドを呼び出す呼び出し元はそれを処理する必要があります。
スローされた例外が実行時 (チェックされていない) 例外である場合、それは処理できるかどうかが決まります。
b) アクティブな処理: (例外キャッチ)
例外を直接キャッチして処理します
構文:
try{ //异常代码 }catch(异常类名 引用名){ //当异常产生执行的代码 }
try after the catch コード ブロック正常に一致できるのは 1 つだけです
catch の後に宣言された例外が親クラスの場合、キャッチできる例外はすべてそれ自体のサブクラス例外です (ポリモーフィズムの現れ)
注: catch がコード ブロックが例外をキャッチします。サブクラスの例外は親クラスの例外の前に定義する必要があります。そうしないとコンパイル エラーが発生します。
最後にコード ブロック: このコード ブロック内のコードは確実に実行され、リソースを閉じるためによく使用されます。 ,
try{ }catch(){ }finally{ //无论是否产生异常,一定会去执行的代码 }
注:finally コード ブロックで return ステートメントを定義しないでください
4. キーワード: throws、throw、try、catch、finally、どういう意味ですか?throws は例外を取得します
throw は例外をスローします
try は例外を処理するために例外が発生したステートメントを囲みます新しい例外が try ブロックでスローされます。
catch は、例外が発生した場合に実行されるステートメントです。
finally は、例外があるかどうかに関係なく実行されます
以上がJava例外処理とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。