
Error::getTrace() 메서드는 PHP에서 에러의 호출 스택을 얻는 데 사용됩니다. 이 메서드는 Exception 객체의 getTrace() 메서드를 호출하여 에러의 호출 스택을 얻을 수 있습니다.
예를 들어, 다음 코드가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
function a() {
b();
}
function b() {
c();
}
function c() {
throw new Exception('테스트');
}
try {
a();
} catch (Exception $e) {
$trace = $e->getTrace();
print_r($trace);
}
위 코드에서 Exception이 발생했을 때, $e->getTrace()를 호출하여 에러의 호출 스택을 얻을 수 있습니다. $e->getTrace()의 결과는 다음과 같은 형태의 데이터입니다.
#hostingforum.kr
php
Array
(
[0] => Array
(
[file] => /Users/user/Documents/test.php
[line] => 12
[function] => c
[args] => Array
(
)
)
[1] => Array
(
[file] => /Users/user/Documents/test.php
[line] => 8
[function] => b
[args] => Array
(
)
)
[2] => Array
(
[file] => /Users/user/Documents/test.php
[line] => 4
[function] => a
[args] => Array
(
)
)
)
위 결과에서 각 배열 요소는 다음과 같은 의미를 나타냅니다.
- `[file]`: 에러가 발생한 파일의 경로입니다.
- `[line]`: 에러가 발생한 줄 번호입니다.
- `[function]`: 에러가 발생한 함수 이름입니다.
- `[args]`: 함수에 전달된 인자의 목록입니다.
위 결과에서 각 배열 요소는 다음과 같이 사용할 수 있습니다.
- `[file]`을 사용하여 에러가 발생한 파일의 경로를 확인할 수 있습니다.
- `[line]`을 사용하여 에러가 발생한 줄 번호를 확인할 수 있습니다.
- `[function]`을 사용하여 에러가 발생한 함수 이름을 확인할 수 있습니다.
- `[args]`을 사용하여 함수에 전달된 인자의 목록을 확인할 수 있습니다.
위 결과에서 각 배열 요소는 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
foreach ($trace as $item) {
echo "파일: " . $item['file'] . "n";
echo "줄 번호: " . $item['line'] . "n";
echo "함수 이름: " . $item['function'] . "n";
echo "인자 목록: " . print_r($item['args'], true) . "n";
}
위 코드는 에러의 호출 스택을 확인할 수 있습니다.
2025-06-08 16:24