【PHP8.x】getLineメソッドの使い方

getLineメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getLineメソッドは、DomainExceptionがスローされたソースコード上の行番号を取得する処理を実行するメソッドです。このメソッドは、PHPの全ての例外クラスの基盤となるExceptionクラスから継承されており、DomainExceptionクラスでも同様に利用できます。プログラムの実行中に、ある値が期待される定義域に含まれていないためにDomainExceptionが発生した場合、開発者はどのコードが問題を引き起こしたのかを特定する必要があります。このメソッドを呼び出すことで、例外が発生した正確な行番号を整数値として取得できるため、デバッグ作業を大幅に効率化できます。通常、try-catch構文のcatchブロック内で、捕捉した例外オブジェクトのインスタンスからこのメソッドを呼び出して使用します。取得した行番号は、エラーメッセージを記録するログファイルへの出力などに活用され、ファイル名を取得するgetFile()メソッドや例外メッセージを取得するgetMessage()メソッドと組み合わせることで、エラー発生時の状況をより詳細に把握することが可能になります。このように、getLineメソッドはアプリケーションのエラーハンドリングと安定運用に不可欠な機能を提供します。

構文(syntax)

1<?php
2
3function validate(int $age)
4{
5    if ($age < 0) {
6        // この行で例外がスローされます
7        throw new DomainException("年齢に負の値は指定できません。");
8    }
9}
10
11try {
12    validate(-10);
13} catch (DomainException $e) {
14    // 例外がスローされた行番号を取得します
15    $line = $e->getLine();
16    echo "エラーが発生した行: " . $line;
17}
18
19?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

このメソッドは、例外が発生したソースコードの行番号を整数で返します。

【PHP8.x】getLineメソッドの使い方 | いっしー@Webエンジニア