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

作成日: 更新日:

『lineプロパティは、エラーが発生したソースコードの行番号を保持するプロパティです』 DivisionByZeroErrorは、数値の計算においてゼロによる除算が実行された場合に発生するエラーです。プログラムの実行中にこのエラーがスローされると、PHPエンジンはエラーに関する詳細な情報を収集します。lineプロパティには、その情報のうち「どのファイルの何行目で問題のゼロ除算が発生したか」を示す整数値の行番号が格納されます。このプロパティはDivisionByZeroErrorクラスに直接定義されたものではなく、その親クラスであるErrorクラスから継承されたものです。このプロパティはprotectedとして宣言されているため、通常はオブジェクトの外部から直接アクセスするのではなく、公開されているgetLine()メソッドを呼び出して値を取得します。例えば、try-catch構文でDivisionByZeroErrorを捕捉し、catchブロック内でインスタンスのgetLine()メソッドを実行することで、エラーの原因となったコード行を特定できます。この情報は、プログラムのデバッグ作業において、問題箇所を迅速に発見し修正するために非常に重要です。

基本的な使い方

構文(syntax)

1<?php
2
3try {
4    // 意図的にゼロ除算エラーを発生させます
5    $result = 5 / 0;
6} catch (DivisionByZeroError $e) {
7    // エラーオブジェクトから、エラーが発生したソースコードの行番号を取得します
8    $line_number = $e->getLine();
9
10    // 取得した行番号を出力します
11    echo "エラーが発生した行番号: " . $line_number;
12}
13
14?>

引数(parameters)

戻り値(return)

int

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

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