
Exception::getTrace 메서드는 호출 스택을 배열로 반환합니다. 배열의 각 요소는 다음 정보를 포함합니다.
- file: 예외가 발생한 파일의 경로
- line: 예외가 발생한 파일의 줄 번호
- function: 예외가 발생한 함수의 이름
- args: 함수에 전달된 인자의 목록
- class: 클래스 이름 (만약 함수가 클래스의 메서드일 경우)
- object: 객체 (만약 함수가 클래스의 메서드일 경우)
예를 들어, 다음 코드를 실행했을 때 getTrace 메서드가 반환하는 결과는 다음과 같습니다.
#hostingforum.kr
php
try {
$a = 0;
$b = 1 / $a;
} catch (Exception $e) {
print_r($e->getTrace());
}
결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
[0] => Array
(
[file] => /var/www/html/test.php
[line] => 6
[function] => {closure}
[args] => Array
(
)
)
[1] => Array
(
[file] => /var/www/html/test.php
[line] => 4
[function] => tryCatch
[args] => Array
(
)
)
[2] => Array
(
[file] => /var/www/html/test.php
[line] => 10
[args] => Array
(
)
)
)
이 결과에서, 각 요소는 다음과 같은 정보를 제공합니다.
- file: 예외가 발생한 파일의 경로 (/var/www/html/test.php)
- line: 예외가 발생한 파일의 줄 번호 (6, 4, 10)
- function: 예외가 발생한 함수의 이름 ({closure}, tryCatch)
- args: 함수에 전달된 인자의 목록 (빈 배열)
- class: 클래스 이름 (없음)
- object: 객체 (없음)
이러한 정보를 사용하여, 예외가 발생한 위치와 함수를 확인할 수 있습니다.
2025-03-08 22:36