キーワードを挿入 Java

⚡ スマートサマリー

キーワードを挿入 Java メソッド宣言では、メソッドの実行中に発生する可能性のあるチェック例外を宣言するために使用されます。try-catchブロックをメソッド内に強制的に記述するのではなく、例外処理を呼び出し元のメソッドに委譲します。

  • 📢 スローの定義: メソッドが発生させる可能性のある例外を宣言し、呼び出し元がそれらを処理できるようにします。
  • 🧱 構文: メソッドシグネチャの後に記述します。例: method(args) throws Exception1, Exception2。
  • 🔁 2つのオプション: try-catch で例外を処理するか、throws で例外を宣言してください。
  • <XNUMXxEXNUMX><XNUMXxEXNUMX><XNUMXxXNUMXA><XNUMXxXNUMX><XNUMXxXNUMXA>️️ 投げる対投げる: throw は単一の例外オブジェクトを発生させます。throws はシグネチャに 1 つ以上の例外をリストします。
  • ⚠️ コンパイラルール: チェック例外は、捕捉するか宣言するかのいずれかでなければならず、そうでない場合はコンパイルエラーとなる。

キーワードを挿入 Java

Java スローキーワード

その Java スローキーワード プログラムの実行中に発生する可能性のある例外情報を宣言するために使用されます。 例外に関する情報をプログラマに提供します。 プログラム実行の通常のフローを維持できるように、例外処理コードを提供することをお勧めします。

Java 例外をスローする構文

Javaプログラムで例外をスローするライブラリメソッドを使用するとします。


Java スローキーワード

プログラムでは、try & catch を使用してこの例外を処理します。

import java.io.*;
class file1{
  public static void main(String[] args) {
     try{
           FileWriter file = new FileWriter("c:\\Data1.txt");
           file.write("Guru99");
           file.close();
    }
    catch(IOException){}
  }
}

try-catchブロックで例外を処理しないと、コンパイルが失敗します。しかし、Javaライブラリのほとんどすべてのメソッド、あるいはユーザー定義のメソッドでさえ、1つか2つの例外をスローする可能性があります。すべての例外をtry-catchブロックで処理するのは煩雑で、プログラマーの生産性を低下させる可能性があります。

そこで Java は、メソッド定義で危険なコードを使用するときはいつでも、それを宣言するオプションを提供します。 スロー try catch を実装しない場合は例外です。

Java 例外をスローする構文

method (Arguments) throws Exception1,Exception2,Exception,… {}

キーワードを挿入 Java 例:

メソッド宣言に throws を含む上記と同じ例を考えてみましょう。

import java.io.*;
class file1{
    public static void main(String[] args) throws IOException{
      FileWriter file = new FileWriter("c:\\Data1.txt");
      file.write("Guru99");
      file.close();
    }
}

注:上記のコードを正常に実行するには、まずCドライブにData1.txtという名前の空のテキストファイルを作成してください。要約すると、例外を処理する方法は2つあります。

  1. 例外を引き起こすコードを try and catch ブロックに置きます。
  2. 例外をスローするメソッドを宣言する

上記 XNUMX つのいずれかが行われていない場合、 コンパイラ エラーが発生します。このルールを適用する理由は、プログラマーとして、特定のコードが危険で例外をスローする可能性があることを認識しているからです。

投げる と 投げる はどう違いますか?

投げる スロー
新しい Exception オブジェクトを作成してスローするために使用されます。 これは、危険なメソッドが呼び出されていることを宣言するために、メソッド定義で使用されます。
throw キーワードを使用すると、一度に宣言できる例外は XNUMX つだけです throws キーワードを使用すると、一度に複数の例外を宣言できます。
例: throw new IOException(「接続を開けません」); 例: IOException、ArrayIndexBoundException をスローします。

よくあるご質問

throw キーワードはメソッド本体内で単一の例外オブジェクトを発生させますが、throws キーワードはメソッドシグネチャに記述することで、メソッドが呼び出し元に渡す可能性のある 1 つ以上の例外を宣言します。

はい。throws句には、カンマで区切られた複数の例外を列挙できます。例えば、throws IOException, SQLException のように記述します。呼び出し元のメソッドは、それぞれの例外を処理するか、別途宣言する必要があります。

いいえ。非チェック例外(RuntimeExceptionのサブクラス)はthrowsを使って宣言する必要はありません。コンパイラはIOExceptionなどのチェック例外の宣言や処理のみを強制します。

AI は適切な try-catch ブロックを提案し、例外をキャッチするか宣言するかを推奨し、意味のあるエラー メッセージを作成し、無視された例外を検出して、ping 開発者は、より安全で保守性の高いエラー処理コードを書く。

はい。AIはメソッド本体を分析し、ファイルアクセスやネットワークアクセスなどのリスクの高い操作を特定し、throws句で宣言すべきチェック例外を推奨することで、宣言漏れやコンパイルエラーを減らすことができます。