라이브러리

[PHP] Exception::getTrace - 스택 추적을 가져옵니다.




Exception::getTrace


PHP 에서 `Exception::getTrace` 메서드는 예외가 발생했을 때 호출된 함수의 호출 스택을 반환합니다. 이 메서드는 `Exception` 클래스의 인스턴스에서 호출할 수 있으며, 예외가 발생한 함수의 호출 스택을 분석할 때 유용합니다.

예제


#hostingforum.kr
php

function 함수1() {

    try {

        함수2();

    } catch (Exception $e) {

        echo "함수1에서 예외가 발생했습니다.
";

        echo "예외 메시지: " . $e->getMessage() . "
";

        echo "예외 스택:
";

        $trace = $e->getTrace();

        foreach ($trace as $i => $frame) {

            echo "함수 " . $frame['function'] . " (라인 " . $frame['line'] . ")
";

            echo "  호출한 함수: " . $frame['function'] . "
";

            echo "  호출한 라인: " . $frame['line'] . "
";

        }

    }

}



function 함수2() {

    throw new Exception("함수2에서 예외가 발생했습니다.");

}



함수1();



이 예제에서, `함수1`은 `함수2`를 호출하고, `함수2`에서 예외를 발생시킵니다. `함수1`은 예외를 catch하고, `Exception::getTrace` 메서드를 호출하여 예외가 발생한 함수의 호출 스택을 분석합니다. 호출 스택은 `함수2`에서 `함수1`으로 호출된 함수의 호출 스택을 포함합니다.

결과


#hostingforum.kr


함수1에서 예외가 발생했습니다.

예외 메시지: 함수2에서 예외가 발생했습니다.

예외 스택:

함수 함수2 (라인 10)

  호출한 함수: 함수1

  호출한 라인: 5

함수 함수1 (라인 5)

  호출한 함수: (main)

  호출한 라인: 15



사용법


`Exception::getTrace` 메서드를 사용하려면, 예외가 발생한 함수의 호출 스택을 분석하고 싶을 때 호출할 수 있습니다. 예를 들어, 웹 애플리케이션에서 예외가 발생했을 때, 호출 스택을 분석하여 문제의 원인을 찾을 수 있습니다.

참고


* [PHP Manual - Exception::getTrace](https://www.php.net/manual/kr/exception.gettrace.php)
* [PHP Manual - Exception](https://www.php.net/manual/kr/class.exception.php)
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 569 페이지

검색

게시물 검색