●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

SE養成講座

プログラマ養成講座

C言語講座

Java講座

C#講座

VB講座

C++講座

Ruby講座

Python講座

HTML講座

JavaScript講座

PHP講座

応用情報試験講座

基本情報試験講座

ITパスポート試験講座

Excel基礎講座

Excel応用講座

Excelマクロ講座

ExcelVBA講座

Access基礎講座

Access応用講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

例外を発生させる / 伝える!「throw」と「throws」とは?

Javaの例外処理には try-catch だけでなく、throwthrows という2つの重要なキーワードがあります。
これらは、例外を明示的に発生させたり、呼び出し元に伝えたりするために使います。

throw:例外を発生させる

throw は、明示的に例外を投げる(発生させる)ためのキーワードです。
使い方は以下のようになります:

throw new 例外クラス("メッセージ");
    

例:条件に応じて例外を発生させる

public class Sample {
    public static void checkAge(int age) {
        if (age < 0) {
            throw new IllegalArgumentException("年齢は0以上でなければなりません");
        }
        System.out.println("年齢:" + age);
    }
}
    

throws:例外を呼び出し元に伝える

throws は、そのメソッドで例外が発生する可能性があることを示し、呼び出し元にその責任を委ねるときに使います。

public void readFile(String path) throws IOException {
    // ファイル処理でIOExceptionが発生するかも
}
    

例:IOExceptionをthrowsで通知

import java.io.*;

public class FileReaderExample {
    public static void read(String filename) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader(filename));
        System.out.println(br.readLine());
        br.close();
    }

    public static void main(String[] args) {
        try {
            read("sample.txt");
        } catch (IOException e) {
            System.out.println("ファイル読み込みに失敗しました");
        }
    }
}
    

throw と throws の違い

キーワード 役割 書く場所 使用例
throw 例外を実際に発生させる メソッドの中 throw new IllegalArgumentException();
throws 例外を呼び出し元に伝える メソッドの宣言部 public void x() throws IOException

まとめ

throw は「この場で例外を発生させる」、throws は「このメソッドは例外を投げる可能性があります」と事前に伝えるためのキーワードです。
Javaの例外処理をより柔軟に、安全に扱うために、throwとthrowsの使い分けをしっかり身につけましょう!

 

Java関連用語集

−−−−−  Java  −−−−−

Javaの基本「クラス(Class)」とは?

Javaの基本「オブジェクト(Object)」とは?

Javaの処理を定義する「メソッド(Method)」とは?

Javaのデータを保持する「フィールド(Field)」とは?

Javaの「クラスの実体」インスタンス(Instance)とは?

クラスの再利用と拡張を実現!「継承(Inheritance)」とは?

オブジェクト指向の柔軟性!「多態性(Polymorphism)」とは?

データを守り、使いやすくする!「カプセル化(Encapsulation)」とは?

共通の土台を定義する「抽象クラス(Abstract Class)」とは?

クラスの共通ルールを定義する「インターフェース(Interface)」とは?

Javaのクラス整理箱「パッケージ(Package)」とは?

Javaで他のクラスを使う「import文」とは?

クラスやメソッドの公開範囲を制御する「アクセス修飾子」とは?

クラスに属するメンバーを定義する「static(静的)」とは?

値や定義を固定するキーワード「final(定数・変更不可)」とは?

エラーが起きても安全に!Javaの「try-catch(例外処理)」とは?

例外を発生させる / 伝える!「throw」と「throws」とは?

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

同じ名前で違う使い方ができる!「オーバーロード(Overload)」とは?

親クラスのメソッドを書き換える!「オーバーライド(Override)」とは?

自分自身を指し示す「thisキーワード」とは?

親クラスを扱う「superキーワード」とは?

クラスからオブジェクトを作る!「newキーワード」とは?

「何もない」を表す特別な値「null」とは?

複数のデータをまとめて扱う「配列(Array)」とは?

配列より便利!Javaの「コレクション(Collection)」とは?

Javaの3大コレクション型「List / Map / Set」ってなに?

コードをスッキリ書ける!「ラムダ式(Lambda Expression)」とは?

データを簡潔に処理!Javaの「Stream API」とは?

Javaをどこでも動かす「JVM(Java Virtual Machine)」とは?

 

 

学校案内

17,000円の講座から!

質問には24時間以内に返答・質問回数は無制限など万全の学習サポート!

是非ご閲覧下さい!

札幌情報技術学院インターネットカレッジ トップページ