カテゴリ: PHP 更新日: 2025/11/24

PHPのtry-catchで学ぶ例外処理入門!初心者でも理解できるエラーハンドリング基礎ガイド

PHP の try-catch を使った例外処理(Exception の基本)
PHP の try-catch を使った例外処理(Exception の基本)

先生と生徒の会話形式で理解しよう

生徒

「PHPでプログラムが止まってしまうエラーが出たときに、どう対処すればいいんですか?」

先生

「そんなときこそ PHP の try-catch を使った例外処理が役に立ちますよ。プログラムが止まらないようにエラーをキャッチできます。」

生徒

「エラーをキャッチするってどんな仕組みなんですか?言葉だけだと難しそうです…」

先生

「大丈夫ですよ。例外処理は慣れれば便利ですし、初心者でも理解できます。では、順番にわかりやすく説明していきますね。」

-

1. PHPのtry-catchとは?初心者向けにやさしく解説

1. PHPのtry-catchとは?初心者向けにやさしく解説
1. PHPのtry-catchとは?初心者向けにやさしく解説

PHPのtry-catchは「エラーが起きるかもしれない処理」を囲み、実際にエラーが起きたときでもプログラムを止めずに処理を続けられる便利な仕組みです。 このエラーのことを「例外(Exception)」と呼びます。例外とは、想定外の状況が発生したときにPHPが「これはおかしいですよ!」と知らせるイメージです。

たとえば、銀行のATMでお金を引き出すときに、もし紙幣が切れていた場合、画面にメッセージがでますよね。しかし機械が止まって壊れるわけではありません。それと同じように、 プログラムも「エラーが起きたから全部停止!」ではなく「エラーが起きたけど、代わりに別の処理をするね」という動きができます。

2. try-catch構文の基本的な書き方

2. try-catch構文の基本的な書き方
2. try-catch構文の基本的な書き方

まずはPHPの基本的なtry-catch構文を見てみましょう。プログラミング初心者の方でも理解しやすいように、簡単な例を使って説明します。


try {
    // エラーが発生する可能性のある処理
    $result = 10 / 0; // ゼロ除算エラー
} catch (Exception $e) {
    // エラーが発生したときの処理
    echo "エラーが発生しました:" . $e->getMessage();
}

このコードでは「0で割る」という禁止されている計算をしていますが、例外処理のおかげでプログラム全体は止まりません。catch の部分で丁寧にエラー内容を処理してくれます。

3. Exception(例外)とは何?初心者向けにわかりやすく解説

3. Exception(例外)とは何?初心者向けにわかりやすく解説
3. Exception(例外)とは何?初心者向けにわかりやすく解説

Exception とはエラーを表す特別なオブジェクトです。オブジェクトとは、情報をまとめた箱のようなものだとイメージしてください。例外が発生すると PHP はその例外オブジェクトを作り、 catch部分に渡してくれます。catch 側では $e->getMessage() を呼び出すことでエラー内容を確認できます。

たとえば、郵便配達の人が荷物を届けるときに「住所が間違っています」という紙を家のポストに入れてくれるようなものです。何が問題だったかを教えてくれるため、 開発者は原因をすぐに確認できます。

4. try-catchでよく使われる書き方を例で学ぼう

4. try-catchでよく使われる書き方を例で学ぼう
4. try-catchでよく使われる書き方を例で学ぼう

PHPではデータベース接続、ファイル読み込み、外部APIアクセスなど、エラーが起きやすい処理に例外処理を使うことが多いです。ここではファイル読み込みの例を紹介します。


try {
    if (!file_exists("sample.txt")) {
        throw new Exception("ファイルが見つかりません。");
    }

    $content = file_get_contents("sample.txt");
    echo $content;

} catch (Exception $e) {
    echo "エラー:" . $e->getMessage();
}

この例では、ファイルが存在しない場合に自分で例外を投げる(throwする)ことで、処理の流れをわかりやすく管理できます。throwは「例外を発生させる」という意味です。

-

5. try-catchを使うメリットとは?初心者でも理解できるポイント

5. try-catchを使うメリットとは?初心者でも理解できるポイント
5. try-catchを使うメリットとは?初心者でも理解できるポイント

PHPでtry-catchを使う最大のメリットは、プログラムが突然止まってしまうのを防げることです。

  • エラーの原因をログに残せる
  • ユーザーに優しいエラーメッセージを表示できる
  • システムの安定性が高くなる
  • 処理の流れをわかりやすく管理できる

特にWebアプリケーションでは、何か問題が起きても画面が真っ白にならず、ユーザーに状況を丁寧に知らせることがとても重要です。

6. finally句についても知っておこう

6. finally句についても知っておこう
6. finally句についても知っておこう

try-catchには、finallyという便利な仕組みもあります。finallyは「エラーがあってもなくても、最後に必ず実行する処理」を書く場所です。 たとえばデータベースの接続解除などに使われます。


try {
    echo "処理を開始します。";
    throw new Exception("問題が発生しました。");
} catch (Exception $e) {
    echo "エラー:" . $e->getMessage();
} finally {
    echo "必ず実行される後処理です。";
}

最後の後片付けを確実に行えるので、実務でもよく使われます。

7. 実際の開発でよく使う例外処理のコツ

7. 実際の開発でよく使う例外処理のコツ
7. 実際の開発でよく使う例外処理のコツ

PHPの例外処理を効果的に使うためのポイントをまとめて紹介します。

  • エラーが起こりそうな部分はできるだけtry内にまとめる
  • 例外メッセージには具体的な情報を入れる
  • ログファイルに記録しておくと調査がスムーズ
  • ユーザーにはやさしい文章で伝える(専門用語を使わない)
  • finallyで後始末を忘れない

これらを意識するだけで、初心者でも質の高いPHPエラーハンドリングができるようになります。

まとめ

まとめ
まとめ

PHPの例外処理であるtry-catchは、プログラムを安全に動かすための重要な考え方です。初心者のうちは、エラーが出ると「もうダメだ」「動かなくなった」と不安になりがちですが、例外処理を学ぶことで 「エラーが起きても落ち着いて対処できる」そんな視点が身につきます。今回の記事では、例外の仕組みとExceptionオブジェクトの役割、そしてthrowによる例外発生の方法など、 PHPのエラーハンドリングに必要な基礎をひとつずつ丁寧に確認してきました。

tryブロックの中では「エラーが起きるかもしれない処理」をまとめ、catchでは「問題が起きたらこう動く」というフォローを入れます。これはまるで、予想外のことが発生しても次の行動を準備しておく、 そんな安全策のようなものです。特にファイル操作や外部APIとの通信、データベースの接続といった不安定要素が多い処理では、例外処理の有無がアプリの品質と安定性を大きく左右します。 エラーの原因をわかりやすく取得できる$e->getMessage()の存在は、初心者にとっても強力なヒントになります。

また、finallyのように「必ず実行したい処理」を書く場所があることで、例外が起きても後始末が必ず完了し、データベース接続やファイル操作などの後処理が確実に行われるようになります。 この構造を理解しておくと、エラーで止まることが減り、ユーザーにとっても安心できる安定したアプリを作れるようになります。 try-catchを適切に使い、例外処理を丁寧に書くことは「読みやすいコード」「バグの少ないコード」「保守しやすいコード」への近道でもあります。

エラーが起こりそうな部分だけにtryを使うこと、例外メッセージに具体的な情報を残すこと、ログを活用することなど、シンプルなポイントを積み重ねていくだけで例外処理の質は格段に上がります。 初心者のうちから例外処理を避けずに向き合うことで、プログラムの動きが理解しやすくなり、実務で役に立つ知識がしっかり身につきます。

例外処理の理解に役立つサンプルコード


<?php
function readFileContent($file) {
    try {
        if (!file_exists($file)) {
            throw new Exception("指定されたファイルが存在しません: " . $file);
        }

        $content = file_get_contents($file);
        return $content;

    } catch (Exception $e) {
        // エラーログに記録
        error_log("エラー発生: " . $e->getMessage());
        return "読み込み中に問題が発生しました。";

    } finally {
        // 必ず実行される後処理
        // 後片付けやログ出力などを記述
        error_log("readFileContent処理が終了しました。");
    }
}

echo readFileContent("data.txt");
?>

このサンプルでは、throwで例外を発生させつつ、catchでエラー内容を丁寧に処理し、finallyで確実な後処理も行っています。PHPの例外処理の基本がこのコードに凝縮されていて、 ファイル操作や外部APIの読み込みなど、さまざまな場面で応用できます。

例外処理を学ぶことは、エラーを恐れずにプログラムを書けるようになるための大きな一歩です。ぜひ今回の理解を基に、より複雑な処理や実践的な開発にも挑戦してみてください。

先生と生徒の振り返り会話

生徒

「例外処理って難しいと思っていたんですが、tryの中で危ない処理をまとめて、catchで受け止めるだけなんですね。なんだか安心しました!」

先生

「そうなんです。仕組み自体はとてもシンプルですよ。エラーをキャッチできるようにしておけば、プログラム全体が止まるような事態を防げます。」

生徒

「finallyがあると後始末が確実にできるのもいいですね。データベースの接続を閉じるところとか、ちゃんと動く気がしました!」

先生

「その感覚はとても大事です。例外処理は安心して開発を進めるための仕組みでもありますから、慣れていくとどんどん書けるようになりますよ。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
Pythonの定数の定義方法!初心者向けに慣習的な書き方と変更を防ぐコツを解説
PHPの関数の引数と戻り値を完全ガイド!初心者でもわかる基本の使い方
Pythonの例外発生の基本をマスター!初心者でもわかるraise文の使い方ガイド
Pythonでタプルの要素数を取得する方法(len()の使い方)初心者でもわかる数え方の基本
人気記事
No.1
PHP&Python記事人気No1
Pythonの例外処理をやさしく解説!初心者でもわかるtry-exceptの基本と使い方
No.2
PHP&Python記事人気No2
PHPでJSONデータを扱う方法をやさしく解説!初心者でもわかるjson_encodeとjson_decode
No.3
PHP&Python記事人気No3
PHPのデフォルト引数の設定方法をやさしく解説!初心者でも安心の入門ガイド
No.4
PHP&Python記事人気No4
Pythonのデータ型変換まとめ!int, float, str, list などの変換方法
-