カテゴリ: PHP 更新日: 2026/04/08

PHPのエラーハンドリング完全ガイド!初心者でもわかるtry-catchとerror_reporting

PHP のエラーハンドリング(try-catch, error_reporting)
PHP のエラーハンドリング(try-catch, error_reporting)

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

生徒

「PHPを書いて動かそうとすると、英語のエラーがたくさん出てきて止まってしまいます…」

先生

「それはPHPが“ここで失敗していますよ”と教えてくれている状態ですね。」

生徒

「エラーって怖いものじゃないんですか?」

先生

「仕組みを知れば怖くありません。PHPにはエラーを安全に扱う方法がありますよ。」

1. PHPのエラーとは何か?

1. PHPのエラーとは何か?
1. PHPのエラーとは何か?

PHPのエラーとは、プログラムが正しく動かなかったときに表示されるお知らせです。パソコンを触ったことがない人向けに例えると、電子レンジでボタンを間違えて押したときに「エラー」と表示されるのと同じです。PHPはとても親切で、「どこで」「なにが」問題なのかを画面に表示してくれます。

PHPのエラー表示を理解することは、PHP初心者、プログラミング未経験者にとって最初の大切な一歩です。

2. エラーハンドリングとは?

2. エラーハンドリングとは?
2. エラーハンドリングとは?

エラーハンドリングとは、エラーが起きたときにプログラムを止めず、安全に処理する考え方です。例えば、雨が降ったときに傘をさすようなものです。何も準備していないとびしょ濡れになりますが、傘があれば安心です。

PHPのエラーハンドリングを学ぶことで、突然画面が真っ白になる現象(ホワイトスクリーン)を防ぐことができます。

3. error_reportingでエラーを表示する

3. error_reportingでエラーを表示する
3. error_reportingでエラーを表示する

error_reportingは、PHPのエラーを「表示する・しない」を決める設定です。初心者のうちは、すべてのエラーを表示する設定にしておくと勉強になります。


<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

echo "PHPのエラー表示テスト";
?>

この設定をすると、PHPの文法ミスや間違いが画面に表示されます。エラーは敵ではなく、先生のような存在です。

4. エラーを表示しない設定も重要

4. エラーを表示しない設定も重要
4. エラーを表示しない設定も重要

実際のWebサイトでは、エラーをそのまま表示すると危険です。住所や金庫の場所を人に見せるようなものだからです。そのため、本番環境ではエラーを非表示にします。


<?php
error_reporting(0);
ini_set('display_errors', '0');

echo "エラーは画面に表示されません";
?>

PHPのエラーハンドリングでは、「表示する場面」と「隠す場面」を使い分けることが大切です。

5. try-catchとは?

5. try-catchとは?
5. try-catchとは?

try-catchは、PHPで起きる失敗を事前に受け止める仕組みです。「やってみる(try)」→「失敗したら受け止める(catch)」という流れになります。転びそうになったら手すりをつかむイメージです。


<?php
try {
  throw new Exception("エラーが発生しました");
} catch (Exception $e) {
  echo $e->getMessage();
}
?>

ここで使われているException(例外)とは、「特別なエラー情報」のことです。

6. try-catchの実用的な例

6. try-catchの実用的な例
6. try-catchの実用的な例

例えば、数字で割り算をするとき、0で割ると危険です。PHPではtry-catchを使って安全に処理できます。


<?php
try {
  $a = 10;
  $b = 0;

  if ($b === 0) {
    throw new Exception("0で割ることはできません");
  }

  echo $a / $b;
} catch (Exception $e) {
  echo $e->getMessage();
}
?>

このようにPHPのエラー処理を入れることで、プログラムが途中で止まらなくなります。

7. error_reportingとtry-catchの違い

7. error_reportingとtry-catchの違い
7. error_reportingとtry-catchの違い

error_reportingは「PHP全体のエラー表示設定」、try-catchは「特定の処理だけを守る仕組み」です。家全体の防犯カメラと、金庫の鍵の違いだと考えると分かりやすいです。

PHPのテストとデバッグでは、この2つを組み合わせることで、初心者でも安全に開発できます。

8. PHP初心者がエラーを怖がらなくなる考え方

8. PHP初心者がエラーを怖がらなくなる考え方
8. PHP初心者がエラーを怖がらなくなる考え方

PHPのエラーは失敗ではありません。「ここを直せば良くなる」というヒントです。プログラミング未経験の人ほど、エラー=ダメだと感じがちですが、実際は成長のきっかけです。

PHPのエラーハンドリング、try-catch、error_reportingを理解することで、エラーは味方になります。

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

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

カテゴリの一覧へ
新着記事
New1
PHP
PHP の session_start() を使ったセッション管理の基本
New2
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
New3
PHP
PHPのバージョン管理とアップデートの重要性とは?初心者向けにわかりやすく解説
New4
PHP
PHPのAPI認証を完全ガイド!初心者でもわかるJWT・OAuth・APIキー管理
人気記事
No.1
Java&Spring記事人気No1
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.2
Java&Spring記事人気No2
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.3
Java&Spring記事人気No3
Python
Pythonとは?初心者向けにわかりやすく解説!インストール方法も紹介
No.4
Java&Spring記事人気No4
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.5
Java&Spring記事人気No5
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.6
Java&Spring記事人気No6
PHP
PHPでREST APIを作る方法を完全ガイド!初心者でもわかるAPI開発入門
No.7
Java&Spring記事人気No7
Python
Pythonでzip圧縮・解凍する方法を徹底解説!初心者でもわかるzipfileモジュールの使い方
No.8
Java&Spring記事人気No8
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド