Java 面接の質問 - 例外とエラー

ヒント: Java にはどのような例外とエラーがあるのか​​、またそれらの違いは何なのかを説明してください。


序文

提示:这里可以添加本文要记录的大概内容:

Java プログラミング言語では、例外とエラーはどちらもプログラムの実行中に発生する可能性のある問題ですが、これらの間にはいくつかの重要な違いがあります。


提示:以下是本篇文章正文内容,下面案例可供参考

定義により:

例外Exception:

例外とは、プログラムの実行中に発生する問題です。通常、それらは予測可能であり、対処することができます。たとえば、存在しないファイルを開こうとしたり、配列の範囲外の要素にアクセスしたりすると、例外が発生する可能性があります。Java では、例外は、チェックされた例外 (Checked Exceptions) とチェックされていない例外 (Unchecked Exceptions) という 2 つの主要なカテゴリに分類できます。チェック例外は、IOException、SQLException など、コンパイラによって強制的に処理される例外です。未チェック例外は通常、NullPointerException、IndexOutOfBoundsException などのプログラム エラーによって発生します。

エラーError:

エラーは、Java ランタイム環境 (JRE) で発生する問題です。このような問題は通常、予測不可能であり、アプリケーションで処理することはできません。たとえば、Java 仮想マシン (JVM) のクラッシュやメモリの枯渇はエラーです。一般的なエラーの種類には、OutOfMemoryError、StackOverflowError などが含まれます。

加工方法の観点から見ると、

例外の場合は、コードを記述することで例外をキャッチして処理できます。たとえば、try-catch ステートメント ブロックを使用して、発生する可能性のある例外をキャッチして処理します。

また、エラーについては、通常、プログラム内で処理することはできません。たとえば、JVM がクラッシュしたりメモリが不足したりすると、プログラムは何もできなくなることがよくあります。私たちができるのは、エラー メッセージを記録し、プログラムのクラッシュを回避するために適切な措置を講じることだけです。

全体として、Java の例外とエラーを理解し、正しく処理することは、堅牢で信頼性の高いコードを作成するために重要です。

例外は通常予見可能ですが、エラーは通常予見できません。つまり、適切なコード設計とロジックによって例外を回避することはできますが、通常はエラーを回避することはできません。
通常、例外は処理できますが、エラーは通常処理できません。例外が発生した場合、try-catch ステートメントを使用して例外をキャッチして処理できます。ただし、エラーが発生した場合、通常はエラーをログに記録し、プログラムのクラッシュを回避するために適切な措置を講じることしかできません。
例外はプログラムの一部ですが、エラーはプログラムの外部の問題です。言い換えれば、例外はプログラムの一部であり、プログラムの一部となるように設計できます。エラーはプログラムの外部の問題であり、環境、ハードウェア、オペレーティング システム、またはその他の要因によって発生する可能性があります。
いくつかのコード例を使用して例外とエラーを理解しましょう。

// 示例1:处理异常  
import java.io.*;  
  
public class ExceptionExample {
    
      
    public static void main(String[] args) {
    
      
        try {
    
      
            File file = new File("non_existent_file.txt");  
            FileReader fr = new FileReader(file);  
        } catch (FileNotFoundException e) {
    
      
            e.printStackTrace();  
        }  
    }  
}

この例では、存在しないファイルを開こうとしていますが、この操作では例外がスローされる可能性があります。この例外をキャッチして処理するには、try-catch ステートメントを使用します。

// 示例2:处理错误  
public class ErrorExample {
    
      
    public static void main(String[] args) {
    
      
        try {
    
      
            int[] arr = new int[5];  
            System.out.println(arr[10]);  
        } catch (ArrayIndexOutOfBoundsException e) {
    
      
            e.printStackTrace();  
        }  
    }  
}

この例では、存在しない配列要素にアクセスしようとしていますが、この操作によりエラーが発生する可能性があります。このエラーをキャッチして処理するには、try-catch ステートメントを使用します。ただし、このエラーを検出して処理することはできますが、発生を防ぐことはできないことに注意してください。これは、エラーの性質上、予測不可能であり、管理できないためです。

要約する

Java の例外とエラーはどちらもプログラムの実行中に発生する可能性のある問題ですが、両者の間には重要な違いがあります。これらの違いを理解し、それらを適切に処理する方法を知ることは、堅牢なコードを作成するために重要です。

例外は通常、予見可能で処理可能であり、プログラムの一部です。エラーは通常、予見不可能で処理できず、プログラムの外部の問題です。例外やエラーを処理するときは、プログラムの堅牢性、可読性、安定性を確保するために、特定の状況に応じて適切な措置を講じる必要があります。

⭐️おすすめの本

ここに画像の説明を挿入します
清華社通信 【読書の秋プラン】クーポンをゲットしてお得に今すぐお楽しみください

IT Good Book 5 倍プラス 10 元の閾値なしクーポン:クリックしてください!

開催期間:9月4日~9月17日、先着順ですので、お早めにゲットしてください

この号での推奨: Java 入門から習熟まで (第 7 版)
JD.com リンクDangdang リンク
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/rej177/article/details/132911539