読者です 読者をやめる 読者になる 読者になる

ExceptionクラスのgetTrace()を使うとエラーの呼び元が分かる

php
<?php
try {
 $this->_aaa();
} catch(Exception $e) {
 print_r($e->getTrace());
}
function _aaa() {
    throw new Exception();
}

結果

Array
(
    [0] => Array
        (
            [file] => /home/test.php
            [line] => 48
            [function] => _aaa
            [class] => Test
            [type] => ->
            [args] => Array
                (
                )

        )

    [1] => Array
        (
            [file] => /home/cake.php
            [line] => 370
            [function] => main
            [class] => Test
            [type] => ->
            [args] => Array
                (
                )

        )

getTrace()の返す一つ目の要素の[line]に$this->_aaa()の行数が入るためどの呼び元でエラーが出たのかが分かって便利。