gpt4 book ai didi

php - 在 PHP 中获取异常上下文

转载 作者:可可西里 更新时间:2023-11-01 13:42:19 26 4
gpt4 key购买 nike

如果您使用 custom error handler在 PHP 中,您可以看到错误的上下文(发生错误的地方的所有变量的值)。有什么办法可以解决异常(exception)情况吗?我的意思是获取上下文,而不是设置异常处理程序。

最佳答案

您可以手动将上下文附加到异常。我从未尝试过,但创建一个自定义异常会很有趣,该异常在构造函数中调用并保存 get_defined_vars() 以供以后检索。
这将是一个严重的异常(exception):-)

概念验证:

class MyException extends Exception()  {
protected $throwState;

function __construct() {
$this->throwState = get_defined_vars();
parent::__construct();
}

function getState() {
return $this->throwState;
}
}

更好:

class MyException extends Exception implements IStatefullException()  {
protected $throwState;

function __construct() {
$this->throwState = get_defined_vars();
parent::__construct();
}

function getState() {
return $this->throwState;
}

function setState($state) {
$this->throwState = $state;
return $this;
}
}

interface IStatefullException { function getState();
function setState(array $state); }


$exception = new MyException();
throw $exception->setState(get_defined_vars());

关于php - 在 PHP 中获取异常上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1809404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com