PHP(Selenium)、例外をキャッチして例外に関する情報を取得。

前回、例外をキャッチして外部ファイルに出力する方法についてまとめました。

PHP、長い例外処理によるエラーを外部ファイルに出力する

しかし、ここでは

}catch(\Exception $e){
    // 発生した例外の情報をファイルに出力
    error_log($e->getMessage(), 3, __DIR__ . "./exceptions.log");
}

と書いたようにメッセージのみしかログファイルに出力していませんでした。 これではデバックしにくいですね。

例外はいくつかのメソッドを持っているのでこれを活用して、どのファイルのどの行で例外が発生したかまで確認できるようにしましょう。 詳しいメソッドはここに載っています。 Exception

}catch(\Exception $e){
    // 発生した例外の情報をファイルに出力
    $messages = "";
    $messages .= $e->getFile(); //例外の発生したファイル名を取得
    $messages = "  ";
    $messages .= $e->getLine(); //例外の発生した行数を取得
    $messages = "  ";
    $messages .= $e->getCode(); //例外の発生したコードを取得
    $messages = "  ";
    $messages .= $e->getMessage(); //発生した例外についてのメッセージを取得
    error_log($messages, 3, __DIR__ . "./exceptions.log");
}