Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでthrowステートメントの後にコードを書ける?コンパイルエラーになる理由を解説


いいえthrowステートメントの後にコードを記述することはできません。そのようなコードを書くと、コンパイル時エラー「到達不可能なステートメント(Unreachable Statement)」が発生します。

Javaにおけるthrowキーワードとは

  • throwキーワードは、例外を手動でスロー(送出)するために使用されます。
  • ユーザー定義の論理エラー条件に基づいて処理の実行を中断したい場合に、このthrowキーワードを使って例外をスローします。
  • スローされた例外は、try-catchブロックを使って適切に処理(キャッチ)する必要があります。

throwキーワードを使用する際のルール

  • throwキーワードの後には、必ずThrowable型のオブジェクトを続けなければなりません。
  • throwキーワードは、メソッドのロジック内でのみ使用できます。
  • throwは転送ステートメントであるため、その後にステートメントを配置することはできません。配置するとコンパイル時エラー「到達不可能なコード(Unreachable Code)」になります。
  • ユーザー定義例外組み込み(事前定義)例外のどちらも、throwキーワードでスローすることが可能です。

コード例

public class ThrowKeywordDemo {
    public static void main(String[] args) {
        try {
            throw new ArithmeticException();
            System.out.println("In try block"); // コンパイル時エラー:到達不可能なステートメント
        } catch (Exception e) {
            System.out.println(e);
            e.printStackTrace();
        }
    }
}

上記のコードは実行されません。tryブロック内のthrowステートメントの後ろにステートメントが存在しているため、コンパイル時エラーが発生するからです。つまり、Javaではthrowステートメントの後にいかなるステートメントも配置することはできません。

出力結果

unreachable statement
System.out.println("In try block");
  1. Javaの列挙型(enum)は任意のクラスを拡張できる?継承の仕組みを解説

    Javaの列挙型(enum)とは列挙型(enum)は、Javaにおいて定数の集合を格納するためのデータ型です。1週間の曜日や1年の月名など、固定された値のグループを扱う際に活用されます。列挙型を定義するには、enumキーワードの後に列挙型の名前を続けて記述します。enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }配列と同様に、列挙型内の要素(定数)には0から始まる番号が自動的に割り当てられます。上記の例では、各曜日が以下の図のように番号で識別されます。列挙型はクラスとよく似た構造を持ち

  2. 【Java】JSONオブジェクトをファイルに書き込む方法(json-simpleライブラリの使い方)

    JSON(JavaScript Object Notation)は、現在もっとも広く使われているデータ交換フォーマットのひとつです。軽量であることと、特定のプログラミング言語に依存しないことが大きな特徴で、異なるシステム間でのデータやり取りに最適です。 JavaでJSONファイルを読み書きするには、json-simple ライブラリが便利です。json-simpleは軽量なJSON処理ライブラリで、JSONテキストのエンコード(書き込み)とデコード(読み込み)の両方に対応しており、JSON仕様(RFC4627)に完全準拠しています。 ライブラリの準備 json-simpleを使用するには、まず