Developer

【PHP応用】独自例外クラス
2021.07.31
Lv2

【PHP応用】独自例外クラス

独自例外クラス

前回、前々回と例外処理の基本を学びましたが、今回は自作の独自例外クラスを作成する方法について紹介します。

■独自例外クラスの作成

前回紹介したように例外クラスは複数用意してありますが、すべてにおいてExceptionクラスを使用したり、
用意してあるものでは表現しきれない例外を設定したい場面が多く出てきます。
その場合に自作で例外クラスを作成し使用することが可能です。

方法は簡単で、基本的にはExceptionクラスを継承したクラスを作成することにより使用することができます。

class SampleException extends Exception {}
throw new SampleException('独自例外発生');

■独自例外サンプル

では独自例外を作成し使用したサンプルを確認してみましょう。
郵便番号の値が「数字3桁 – 数字4桁」かどうかチェックし例外を発生する関数です。

<?php
echo "<h2>独自例外サンプル</h2>";

// Exceptionクラスを継承した独自例外クラス「PostCodeException」の作成
class PostCodeException extends Exception {}

// 郵便番号の値が「数字3桁 - 数字4桁」かどうかチェックし例外を発生する関数
function sample($postCode) {
    try {
        echo "引数 : ".$postCode." <br>";
        if(preg_match('/^[0-9]{3}-[0-9]{4}$/',$postCode)){
            echo "正常処理<br>";
        } else {
            throw new PostCodeException('PostCodeException発生<br>');
        }
    } catch (PostCodeException $e) {
        echo $e->getMessage();
    }
}
// 正常処理の場合
sample('012-3456');

// PostCodeExceptionの場合
sample('123-4567-8910');
?>

上記で紹介したサンプルのように
独自の例外クラスを作成し利用することができます。

今回で例外処理の紹介は以上です。

PHPWEBプログラミング講座 連載目次リンク

PHPWEBプログラミング講座 連載目次