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

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

作成日: 更新日:

基本的な使い方

getLineメソッドは、JsonExceptionがスローされたソースコードの行番号を取得するメソッドです。このメソッドは、PHPの基本的な例外クラスであるExceptionから継承されたもので、Throwableインターフェースで定義されている標準的な機能の一つです。PHP 7.3以降、json_encode()json_decode()といったJSON関連関数は、エラーが発生した際にJSON_THROW_ON_ERRORフラグを指定するとJsonExceptionをスローします。try...catch構文を用いてこの例外を捕捉した際に、getLine()メソッドを呼び出すことで、例外がどのファイルの何行目で発生したのかを正確に特定できます。取得できる行番号は整数値です。この情報は、getFile()メソッドで取得できるファイルパスと組み合わせることで、デバッグ作業を大幅に効率化します。特に、複雑なアプリケーションにおいて、エラー発生箇所を迅速に突き止め、問題を修正するための重要な手がかりとなります。エラーログにこの情報を記録しておくことで、運用中の予期せぬ問題に対しても迅速な対応が可能になります。

構文(syntax)

1<?php
2try {
3    // 不正なJSON文字列をデコードしようとすると、この行でJsonExceptionがスローされます
4    json_decode('{ "user": "test", }', flags: JSON_THROW_ON_ERROR);
5} catch (JsonException $e) {
6    // 例外オブジェクトからエラーが発生した行番号を取得します
7    $line = $e->getLine();
8    echo "エラーが発生した行番号: " . $line;
9}
10?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

このメソッドは、JSONデコードエラーが発生した行番号を整数で返します。

関連コンテンツ

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