Exception は、プログラムの通常の実行フローを中断する異常なイベントです。例外が発生すると、例外オブジェクトと呼ばれるオブジェクトが生成されます。このオブジェクトには、名前、説明、プログラムのステータスなどの例外の詳細が含まれます。このセクションでは、Java に存在するさまざまな例外メソッドを処理する Java プログラムを作成します。
例外の種類
例外には 3 種類あります −
チェック例外 -チェック例外はコンパイル時の例外であり、プログラムのコンパイル中にチェックされます。これらの例外は無視できないため、プログラマが処理する必要があります。例: IOException、SQLException、ClassNotFounException。
未チェック例外 - 未チェック例外は実行時例外です。つまり、コンパイル中に無視され、プログラムの実行中にチェックされます。例: NullPointerException (null ポインター例外)、ArithmeticException (算術例外)、ArrayIndexOutOfBoundsException (配列範囲外例外)。
エラー -エラーは、通常、Java仮想マシンまたはシステムリソースの問題が原因で発生する回復不可能な例外です。例外とは異なり、エラーは、プログラムでは修正できない重大な問題があることを示すため、プログラマによって捕捉または処理されるべきではありません。例: OutOfMemoryError、StackOverflowError。
###例外処理### 例外処理は、実行フローが中断されないように、プログラムの実行中に発生した例外を処理するプロセスです。これは、Java の try-catch ブロックを使用して行われます。 try ブロックには例外をスローする可能性のあるコードが含まれており、catch ブロックには例外を処理するコードが含まれています。 組み込みの例外を使用したり、カスタムまたはユーザー定義の例外を作成したりできます。カスタム例外は、
Exceptionクラスまたは RuntimeException クラスを拡張します。 Java には、これらの例外を処理するためのメソッドが多数用意されています。これらのメソッドの一部は -
です。 getMessage()-このメソッドは、エラーメッセージを文字列として返すために使用されます。 JavaのThrowableクラスで定義されるメソッドです。 リーリー
getStackTrace()- このメソッドは、例外を引き起こした一連のメソッド呼び出しの配列を返します。 JavaのThrowableクラスで定義されているメソッドです。 リーリー
printStackTrace()- このメソッドは、例外を引き起こした一連のメソッド呼び出しの配列を出力します。 JavaのThrowableクラスで定義されているメソッドです。 リーリー
Throw-「throw」は、明示的に例外をスローするために使用される Java のキーワードです。このキーワードが実行されると、通常のプログラム フローが停止され、例外がスローされ、最も近い catch ステートメントによってキャッチされます。 リーリー
getCause()-このメソッドは、この例外を発生させた他の例外の原因を返します。原因が不明な場合は「null」が返されます。 JavaのThrowableクラスで定義されるメソッドです。 リーリー ###文法###
try-catch ブロック- Java の try-catch ブロックは、例外を処理するために使用されます。 try ブロックには、例外をスローする可能性のあるコードが含まれています。 catch ブロックは例外をキャッチして処理します。試行の後に一連の catch ブロックを続けることができます。
リーリー次に、Java でメソッド例外を処理するさまざまな方法について詳しく説明します。 方法 1: 単一の try-catch ブロックを使用する
このアプローチでは、単一の try ブロックと単一の catch ブロックを使用して、発生した例外を処理します。
###アルゴリズム###配列をランダムな値で初期化します。
- インデックスが配列の長さより大きくなるように、配列内の要素にアクセスしてみます。例外がスローされるため、このコードを try ブロックに配置します。
-
- "ArrayIndexOutOfBoundsException"
がスローされます。 catch ブロックはこの例外をキャプチャし、
getMessage() メソッドを使用してエラー メッセージを出力します。
メソッドは、例外発生時のメソッド呼び出しシーケンスを出力するために使用されます。
リーリー ###出力### リーリー方法 2: 単一の try ブロックと複数の catch ブロックを使用する このアプローチでは、単一の try ブロックと複数の catch ブロックを使用して、発生する例外を処理します。 ###アルゴリズム### try ブロックを宣言し、2 つの整数変数、つまり分子と分母を初期化します。分母変数は 0 に初期化されます。
ここで、分母の値が 0 に等しい場合、ArithmeticException がスローされます。
さまざまな例外を処理するには、複数の catch ブロックを作成します。
Java のさまざまな組み込みメソッドを使用して、例外メッセージと発生した例外を出力します。
示例
在此示例中,我们使用了一个 try 块,后跟多个 catch 块。如果从 try 块中抛出 ArithmeticException,则执行处理 ArithmeticException 代码的 catch 块。如果 try 块抛出 NullPointerException,则执行该特定的 catch 块。如果 catch 块不处理 try 块引发的特定异常,则执行最后一个 catch 块代码,因为它正在处理通用异常情况。从示例中,当分母值初始化为零时,我们使用“throw”关键字抛出一个 ArthemeticException,并执行处理 ArthemeticException 的 catch 块。
import java.util.*; public class Main { public static void main(String[] args) { try { int numerator = 10, denominator = 0 ; if(denominator == 0) { throw new ArithmeticException(); } } catch (ArithmeticException e) { System.out.println("ArithmeticException caught."); System.out.println("Message: " + e.getMessage()); System.out.println("Stack Trace: "); e.printStackTrace(); System.out.println("Cause: " + e.getCause()); } catch (NullPointerException e) { System.out.println("NullPointerException caught."); System.out.println("Message: " + e.getMessage()); System.out.println("Stack Trace: "); e.printStackTrace(); System.out.println("Cause: " + e.getCause()); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("ArrayIndexOutOfBoundsException caught."); System.out.println("Message: " + e.getMessage()); System.out.println("Stack Trace: "); e.printStackTrace(); System.out.println("Cause: " + e.getCause()); }catch (Exception e) { System.out.println("NullPointerException caught."); System.out.println("Message: " + e.getMessage()); System.out.println("Stack Trace: "); e.printStackTrace(); System.out.println("Cause: " + e.getCause()); } } }
输出
ArithmeticException caught. Message: null Stack Trace: java.lang.ArithmeticException at Main.main(Main.java:7) Cause: null
因此,在本文中,我们讨论了处理Java编程语言中异常方法的不同方法。
以上が例外メソッドを処理する Java プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
