Java エラー: 例外キャッチ エラー、解決方法と回避方法

WBOY
リリース: 2023-06-25 16:29:21
オリジナル
1644 人が閲覧しました

Java エラー: 例外キャッチ エラー、解決方法と回避方法

Java プログラミングでは、エラーは避けられません。当社のプログラムは慎重に設計およびテストされていますが、実行中に問題が発生する可能性があります。 Java は、これらの問題を効果的に処理する例外メカニズムを提供します。ただし、例外処理中にエラーが発生した場合は、例外キャッチエラーが発生します。したがって、これらのエラーをどのように解決して回避するかが非常に重要です。

1. 例外の基礎知識

Java では、例外は Checked Exception (検査済み例外) と Unchecked Exception (未検査例外) の 2 種類に分類されます。チェック例外は関数シグネチャで宣言する必要があります。つまり、上向きに渡す例外を明示的に指定する必要があります。そうしないと、プログラムはコンパイルに失敗します。チェックされていない例外は、関数シグネチャで宣言する必要はありません。

次に、例外の基礎を示す簡単な Java プログラムを示します。

public class Example {

public static void main(String[] args) {

try {
  int result = divide(5, 0);
} catch (Exception e) {
  System.out.println("Error occurred: " + e.getMessage());
}
ログイン後にコピー

}

public static int dive(int a, int b) throws Exception {

if (b == 0) {
  throw new Exception("Division by zero");
}
return a / b;
ログイン後にコピー

}
}

この例では、次のようにしてみます。 Division()関数での除算。除算器がゼロの場合、チェック例外をスローし、それを main 関数に返します。 main 関数で例外をキャッチして出力します。除算器がゼロであるため、このコードは例外を生成することに注意してください。

2. 例外キャッチ エラー

プログラムで例外を使用する場合、一般的なエラーは次のとおりです:

1. 例外をキャッチするとき、正確な例外タイプは指定されません。 catch ステートメントを使用して例外をキャプチャする場合、指定された例外の種類が間違っていると、例外キャプチャ エラーが発生します。たとえば、NumberFormatException を使用して NullPointerException をキャッチしようとすると、2 つの例外の種類が異なるため、例外キャッチ エラーが発生します。

try {

int i = Integer.parseInt(null);
ログイン後にコピー

} catch (NumberFormatException e) {

System.err.println(e);
ログイン後にコピー

}

2. 例外を間違ったコード ブロックにスローします。間違ったコード ブロックに例外をスローすると、例外キャッチ エラーが発生します。たとえば、次のコードでは、ゼロ除算例外を処理する try ブロックで例外をスローすると、例外キャッチ エラーが発生します。

try {

int result = divide(5, 0);
ログイン後にコピー
ログイン後にコピー

} catch (例外 e) {

throw e;
ログイン後にコピー

}finally {

System.out.println("Done");
ログイン後にコピー

}

3.infinallyブロック内で例外がスローされます。 finally ブロックで例外をスローすると、try ブロックの例外が上書きされ、例外キャッチ エラーが発生します。したがって、finally ブロックで例外をスローしないようにしてください。

try {

int result = divide(5, 0);
ログイン後にコピー
ログイン後にコピー

} catch (例外 e) {

System.out.println("Error occurred: " + e.getMessage());
ログイン後にコピー

} 最終的に {

throw new Exception("Unexpected exception");
ログイン後にコピー

}

3. 方法例外キャッチエラーを回避する

1. 正確な例外タイプを使用します。 catch ステートメントでは、正確な例外タイプを使用して例外をキャッチし、例外が正しく処理されるようにします。

2. 間違ったコード ブロックを使用しないでください。例外をキャッチするときは、例外が正しく処理されるように、間違ったコード ブロックに例外をスローしないでください。例外をコードの別のブロックで処理する必要がある場合は、throws ステートメントを使用して呼び出し元に例外を渡します。

3.finally ブロックに注目してください。例外が正しく処理されるようにするために、finally ブロックで例外をスローしないでください。 Finally ブロック内のリソースを操作する必要がある場合は、try-with-resource (Java 7 以降で利用可能) を使用するか、リソースを手動で閉じます (try-finally ブロックを使用)。

概要

例外は Java プログラミングでは避けられない部分です。例外を処理するときは、例外キャッチエラーを回避する必要があります。この問題を回避するには、可能な限り正確な例外タイプを使用し、間違ったコード ブロックに例外をスローせず、finally ブロックで例外を慎重に処理する必要があります。例外を正しく処理することで、プログラムをより堅牢で信頼性の高いものにすることができます。

以上がJava エラー: 例外キャッチ エラー、解決方法と回避方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート