PHPのThrowableインターフェース徹底解説:ErrorとExceptionの共通基盤
はじめに
PHP 7で導入されたThrowableインターフェースは、throw文で投げることができるすべてのオブジェクト(ErrorおよびExceptionを含む)の基底となるインターフェースです。組み込みクラスやユーザー定義クラスの派生元であるErrorクラスとExceptionクラスは、いずれもこのThrowableインターフェースを実装しています。Throwableインターフェースには、以下の抽象メソッドが定義されています。
構文
Throwable {
/* メソッド */
abstract public getMessage ( void ) : string
abstract public getCode ( void ) : int
abstract public getFile ( void ) : string
abstract public getLine ( void ) : int
abstract public getTrace ( void ) : array
abstract public getTraceAsString ( void ) : string
abstract public getPrevious ( void ) : Throwable
abstract public __toString ( void ) : string
}各メソッドの詳細
getMessage ( void ) − string:スローされたオブジェクトに関連付けられたメッセージを返します。
getCode ( void ) − int:スローされたオブジェクトに関連付けられたエラーコードを返します。
getFile ( void ) − string:スローされたオブジェクトが生成されたファイルの名前を取得します。
getLine ( void ) − int:スローされたオブジェクトがインスタンス化された行番号を返します。
getTrace ( void ) − array:スタックトレースを配列形式で返します。
getTraceAsString ( void ) − string:スタックトレースを文字列形式で返します。
getPrevious ( void ) − Throwable:直前に発生したThrowable(Exception::__construct()の第3引数として渡されたもの)を返します。
__toString ( void ) − string:スローされたオブジェクトの文字列表現を取得します。
補足:ErrorとExceptionの違い
Errorは主にPHPエンジン内部で発生する致命的な問題(TypeError、DivisionByZeroErrorなど)を表す一方、Exceptionはアプリケーションのロジック上の例外的な状況を表します。両者ともThrowableインターフェースを実装しているため、catchブロックで「catch (Throwable $e)」のように記述すれば、エラーと例外の両方をまとめて捕捉することが可能です。
-
PHPのstrspn()関数とは?構文・パラメータ・使い方をわかりやすく解説
はじめにPHPのstrspn()関数は、文字列の先頭から見て、charlistパラメータに含まれる文字が連続して現れる長さ(文字数)を返す関数です。charlistに含まれない文字が出現した時点で処理が終了し、それまでに一致した文字数が結果として返されます。構文strspn(str, charlist, begin, len)パラメータstr − 検索対象となる文字列charlist − 検索対象とみなす(許可する)文字の一覧begin − 検索を開始する位置(省略可能)。負の値を指定すると文字列の末尾からの位置になりますlen − 検索する長さ(省略可能)。負の値を指定すると末尾から指定文字
-
PHPのstrrev()関数とは?文字列を反転させる使い方を解説
strrev()関数は、PHPに組み込まれている関数の一つで、文字列を逆順(反転)に並び替えるために使用されます。引数として渡された文字列の文字順序を逆にし、その結果を返します。 構文 strrev(str) パラメータ str − 反転したい文字列を指定します。 戻り値 strrev()関数は、文字の並びを逆にした文字列を返します。 使用例 以下は、strrev()関数を使って文字列を反転させる基本的な例です。 <?php echo strrev(Jack);?> 出力結果 上記のコードを実行すると、次のように表示され