Exception::getTrace()

获取当前异常的堆栈跟踪信息

首字母:E

函数名称:Exception::getTrace()

适用版本:所有 PHP 版本

用法:Exception::getTrace() 方法用于获取当前异常的堆栈跟踪信息。它返回一个由堆栈帧组成的数组,每个堆栈帧都是一个关联数组,包含以下键值对:

  • file:包含堆栈帧所在的文件名。
  • line:包含堆栈帧所在的行号。
  • function:包含堆栈帧所调用的函数或方法名。
  • class:如果堆栈帧是在类内部调用的,这个键将包含调用该方法的类名。
  • type:如果堆栈帧是在类内部调用的,这个键将为 ->,表示对象方法调用;如果是静态方法调用,键将为 ::。
  • args:包含传递给函数或方法的参数数组。

示例:

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
"; echo "Line: $line
"; echo "Function: $function
"; echo "Class: $class
"; echo "Type: $type
"; echo "Args: " . implode(', ', $args) . "

"; } }

注意:Exception::getTrace() 方法必须在异常被 catch 后调用,才能获取到有关该异常的堆栈跟踪信息。

同首字母函数