English | 简体中文 | 繁體中文
查询

Throwable::getTrace()函数—用法及示例

「 获取抛出异常时的调用栈信息,返回一个数组,包含了每个调用栈帧的详细信息 」


函数名称:Throwable::getTrace() 

函数描述:获取异常的调用栈信息 

适用版本:PHP 7.0.0 及以上版本

用法: 该函数用于获取抛出异常时的调用栈信息,返回一个数组,包含了每个调用栈帧的详细信息。每个调用栈帧都是一个关联数组,包含以下键值对:

  • "file": 表示调用栈帧所在的文件名
  • "line": 表示调用栈帧所在的行号
  • "function": 表示调用栈帧所调用的函数名
  • "class": 表示调用栈帧所在的类名
  • "object": 表示调用栈帧所在的对象
  • "type": 表示调用栈帧所使用的操作符,如 "->" 或 "::"
  • "args": 表示调用栈帧所传递的参数

示例:

try {
    throw new Exception("Something went wrong");
} catch (Throwable $e) {
    $trace = $e->getTrace();
    foreach ($trace as $frame) {
        $file = isset($frame['file']) ? $frame['file'] : 'unknown file';
        $line = isset($frame['line']) ? $frame['line'] : 'unknown line';
        $function = isset($frame['function']) ? $frame['function'] : 'unknown function';
        $class = isset($frame['class']) ? $frame['class'] : 'unknown class';
        echo "File: $file\n";
        echo "Line: $line\n";
        echo "Function: $function\n";
        echo "Class: $class\n";
        echo "\n";
    }
}

上述示例中,我们通过抛出一个异常并捕获它,然后使用getTrace()函数获取调用栈信息。然后,我们遍历调用栈数组,打印出每个调用栈帧的文件名、行号、函数名和类名。如果某个调用栈帧缺少某个信息,我们将显示"unknown"。

补充纠错
上一个函数: Throwable::__toString()函数
下一个函数: Throwable::getPrevious()函数
热门PHP函数
分享链接