函数名称:Exception::getTrace() 适用版本:所有 PHP 版本 用法:Exception::getTrace() 方法用于获取当前异常的堆栈跟踪信息。它返回一个由堆栈帧组成的数组,...
函数名称:Exception::getTrace()
适用版本:所有 PHP 版本
用法:Exception::getTrace() 方法用于获取当前异常的堆栈跟踪信息。它返回一个由堆栈帧组成的数组,每个堆栈帧都是一个关联数组,包含以下键值对:
->,表示对象方法调用;如果是静态方法调用,键将为 ::。示例:
try {
// 假设发生了一个异常
throw new Exception('Something went wrong');
} catch (Exception $e) {
// 获取堆栈跟踪信息
$trace = $e->getTrace();
// 遍历堆栈跟踪信息并打印每个堆栈帧的信息
foreach ($trace as $frame) {
$file = $frame['file'];
$line = $frame['line'];
$function = isset($frame['function']) ? $frame['function'] : '';
$class = isset($frame['class']) ? $frame['class'] : '';
$type = isset($frame['type']) ? $frame['type'] : '';
$args = isset($frame['args']) ? $frame['args'] : [];
echo "File: $file<br>";
echo "Line: $line<br>";
echo "Function: $function<br>";
echo "Class: $class<br>";
echo "Type: $type<br>";
echo "Args: " . implode(', ', $args) . "<br><br>";
}
}
注意:Exception::getTrace() 方法必须在异常被 catch 后调用,才能获取到有关该异常的堆栈跟踪信息。