【PHP8.x】lineプロパティの使い方

lineプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『lineプロパティは、例外がスローされたソースコードの行番号を保持するプロパティです。』 このプロパティは、UnderflowExceptionクラスが直接持つものではなく、その親クラスであるExceptionクラスから継承されています。UnderflowExceptionは、例えば空の配列やスタックから要素を取り出そうとするなど、コンテナが空の状態で不正な操作が行われたときに発生する実行時例外です。この例外がスローされると、PHPエンジンは例外が発生したコードの位置を特定し、その行番号を自動的にこのlineプロパティに設定します。開発者はこの情報を利用して、プログラムのどこで問題が起きたのかを正確に把握できます。これはデバッグ作業において極めて重要な情報であり、エラーの原因究明を迅速に行う助けとなります。このプロパティはprotectedアクセス修飾子を持つため、オブジェクトの外部から直接参照することはできません。値を取得するには、公開されているgetLine()メソッドを使用する必要があります。try...catchブロックで例外を捕捉した際に、このメソッドを呼び出して行番号を取得し、ログに記録するのが一般的な使い方です。

構文(syntax)

1<?php
2try {
3    $list = new SplDoublyLinkedList();
4    $list->pop(); // この行で例外が発生
5} catch (UnderflowException $e) {
6    // 例外がスローされた行番号を取得します
7    $lineNumber = $e->getLine();
8    echo $lineNumber;
9}

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

UnderflowExceptionクラスのlineプロパティは、例外が発生したソースコードの行番号を整数で返します。

【PHP8.x】lineプロパティの使い方 | いっしー@Webエンジニア