0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Java基礎】例外処理(try-catch / throws)とエラーの違いとは?

0
Posted at

Javaを学び始めると、try-catchthrows、そして エラー(Error) という言葉が登場します。
どれも「問題が起きたとき」に関係する仕組みですが、初心者にとっては違いが分かりにくいポイントです。

この記事では、IT初心者の方でもイメージしやすいように、具体例を交えながら解説します。


1. そもそも「例外」とは?

例外(Exception)とは

プログラムの実行中に発生する“想定外の出来事” です。

ただし重要なのは、

例外は「想定できるトラブル」

だという点です。

例外の身近な例

  • ファイルを読み込もうとしたら、ファイルが存在しなかった
  • ユーザーが数字を入力するはずなのに、文字を入力した
  • 0で割り算をしてしまった

これらは、

  • 起こる可能性がある
  • 事前に対処方法を考えられる

という特徴があります。


2. try-catchとは何か?

try-catchの役割

「例外が起きるかもしれない処理」を監視し、起きたらどうするかを決める仕組みです。

例:0で割った場合

public class Sample {
    public static void main(String[] args) {
        try {
            int result = 10 / 0;
            System.out.println(result);
        } catch (ArithmeticException e) {
            System.out.println("0で割ることはできません");
        }
    }
}

処理の流れ

  1. try の中を実行する
  2. 途中で例外が発生する
  3. 対応する catch に処理が移る
  4. プログラムは異常終了せずに続行できる

try-catchを使う理由

  • プログラムが突然止まるのを防ぐ
  • ユーザーに分かりやすいメッセージを表示できる
  • 安定したアプリケーションを作れる

3. throwsとは何か?

throwsの役割

システムに 「このメソッドでは例外を処理しません。呼び出し元に任せます」
と宣言する仕組みです。

例:ファイルを読み込む処理

import java.io.*;

public class Sample {
    public static void readFile() throws IOException {
        FileReader fr = new FileReader("test.txt");
    }
}

このコードの意味

  • readFile メソッド内で IOException が起きる可能性がある
  • ただし、このメソッド内では対処しない
  • 呼び出した側が try-catch で処理する必要がある

呼び出し側の例

public class Main {
    public static void main(String[] args) {
        try {
            Sample.readFile();
        } catch (IOException e) {
            System.out.println("ファイルが見つかりません");
        }
    }
}

4. try-catch と throws の使い分け

項目 try-catch throws
例外の処理 その場で行う 呼び出し元に任せる
主な用途 ユーザー向け処理 共通部品・ライブラリ
初心者向け 理解しやすい 最初は少し難しい

実務的な考え方

  • 画面やユーザー操作に近い処理 → try-catch
  • 共通ロジック・下位レイヤー → throws

5. エラー(Error)とは何か?

エラーの特徴

プログラムでは基本的に対処できない深刻な問題です。

代表例:

  • OutOfMemoryError(メモリ不足)
  • StackOverflowError(無限再帰など)

エラーの考え方

エラーは「アプリケーションの限界を超えた状態」

そのため、

  • try-catchで捕まえることはできる
  • しかし、捕まえても回復できないことが多い

6. 例外とエラーの違いまとめ

項目 例外(Exception) エラー(Error)
想定可能か 可能 ほぼ不可能
対処 プログラムで対応する 原則対応しない
主な原因 入力ミス・環境依存 JVMやシステムの問題
初心者の意識 積極的に学ぶ 深追いしなくてよい

7. 初心者向けの覚え方

  • 例外
    → 「起こりうるトラブル。保険(try-catch)をかける」
  • throws
    → 「この問題、上司(呼び出し元のクラス)に判断を任せる」
  • エラー
    → 「システムが壊れかけている状態」

8. まとめ

  • try-catch は 例外をその場で処理する
  • throws は 例外処理を他人に任せる
  • エラーは 基本的にアプリではどうしようもない

Javaの例外処理は、安全で止まらないプログラムを書くための重要な仕組みです。
最初は try-catch をしっかり理解することから始めるとよいでしょう。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?