logo

Java Try Catch ブロック

Javaでは 例外 プログラムの実行中に発生する、望ましくない、または予期しないイベントです。例外が発生すると、プログラムの実行は終了します。これらの終了条件を回避するには、Java で try catch ブロックを使用します。この記事では、Java の Try、catch、throw、throws について学びます。

なぜ例外が発生するのでしょうか?

例外は、ネットワーク接続の問題、ユーザーによる不正な入力、プログラム内で存在しないファイルを開いたなど、いくつかの理由で発生する可能性があります。

例外処理に使用されるブロックとキーワード

1. Javaで試してみる

試す ブロックには、例外が発生する可能性のある一連のステートメントが含まれています。



try {  // statement(s) that might cause exception }>

2. Java でキャッチする

catch ブロックは、try ブロックの不確実な状態を処理するために使用されます。 try ブロックの後には常に catch ブロックが続き、関連する try ブロックで発生した例外を処理します。

catch {  // statement(s) that handle an exception  // examples, closing a connection, closing  // file, exiting the process after writing  // details to a log file. }>

3. Javaを投入する

throw キーワードは、try ブロックから catch ブロックに制御を移すために使用されます。

上記のアプローチの実装を以下に示します。

ジャワ




// Java program that demonstrates the use of throw> class> ThrowExcep {> >static> void> help()> >{> >try> {> >throw> new> NullPointerException(>'error_unknown'>);> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught inside help().'>);> >// rethrowing the exception> >throw> e;> >}> >}> >public> static> void> main(String args[])> >{> >try> {> >help();> >}> >catch> (NullPointerException e) {> >System.out.println(> >'Caught in main error name given below:'>);> >System.out.println(e);> >}> >}> }>

ジャッカル対オオカミ
>

>

出力

Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown>

4. Javaをスローする

投げる キーワードは、try & catch ブロックを使用しない例外処理に使用されます。これは、メソッドが呼び出し元にスローできる例外を指定しますが、メソッド自体は処理しません。

上記のアプローチの実装を以下に示します。

ジャワ




// Java program to demonstrate working of throws> class> ThrowsExecp {> >// This method throws an exception> >// to be handled> >// by caller or caller> >// of caller and so on.> >static> void> fun()>throws> IllegalAccessException> >{> >System.out.println('Inside fun(). ');> >throw> new> IllegalAccessException('demo');> >}> >// This is a caller function> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (IllegalAccessException e) {> >System.out.println('caught in main.');> >}> >}> }>

>

CSSテキストの整列
>

出力

Inside fun(). caught in main.>

5. ついにJavaで

これは catch ブロックの後に実行されます。これを使用して、複数の catch ブロックがある場合に、共通のコード (例外が発生したかどうかに関係なく実行される) を配置します。

システムによって生成される例外の例を以下に示します。

Exception in thread 'main'    java.lang.ArithmeticException  : divide  by zero at   ExceptionDemo.main(ExceptionDemo.java:5)  ExceptionDemo: The class name main:The method name  ExceptionDemo.java:The file name java:5:line number>

上記のアプローチの実装を以下に示します。

ジャワ




// Java program to demonstrate working of try,> // catch and finally> class> Division {> >public> static> void> main(String[] args)> >{> >int> a =>10>, b =>5>, c =>5>, result;> >try> {> >result = a / (b - c);> >System.out.println('result' + result);> >}> >catch> (ArithmeticException e) {> >System.out.println('Exception caught:Division by zero');> >}> >finally> {> >System.out.println('I am in>final> block');> >}> >}> }>

>

>

出力

Exception caught:Division by zero I am in final block>

Java の Try ブロックに関する FAQ

1. Try Catch ブロックをいつ使用する必要がありますか?

Try catch ブロックは、完全な実行前にコードが中断しないように例外を回避するために使用されます。

Javaのループの終了

2. Java の throw と throws とは何ですか?

throw は、try ブロックから catch ブロックに制御を移すために使用されます。一方、 throws は try & catch ブロックを使用しない例外処理に使用されます。スローは、メソッドが呼び出し元にスローでき、それ自体は処理しない例外を指定します。

3. catch ブロックを 2 つ使用できますか?

はい、try ステートメントを使用して複数の catch ブロックを使用できます。