gpt4 book ai didi

php Exception.getMessage() 总是什么都不返回

转载 作者:行者123 更新时间:2023-12-04 14:34:05 25 4
gpt4 key购买 nike

当我在 php 中捕获异常并尝试输出一些详细信息时,getMessage() 总是不返回任何内容。如果我执行 var_dump(),我会看到我想要显示的消息。我做错了什么?

                try
{
...
}
catch (Exception $e)
{
echo "<p>Exception: " . $e->getMessage() . "</p>";
return;
}

如果我执行 var_dump($e) 我会得到以下输出:

object(ETWSException)#735 (10) { ["errorCode":protected]=> int(401) ["errorMessage":protected]=> string(226) "HTTP/1.1 401 Unauthorized Date: Fri, 21 Aug 2015 18:26:30 GMT Server: Apache WWW-Authenticate: OAuth realm=https://etws.etrade.com/,oauth_problem=token_expired Content-Length: 995 Content-Type: text/html;charset=utf-8 " ["httpCode":protected]=> NULL ["message":protected]=> string(0) "" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=>[snip!]

我认为 getMessage() 应该显示 errorMessage 的内容。

好吧,我尝试了 $e->getErrorMessage() 并且 that 显示了预期的消息。在 google 上搜索 php 异常 getErrorMessage 似乎没有显示任何有用的信息(所有页面似乎只提到 getMessage,而不是 getErrorMessage)。给了什么?

最佳答案

电子交易异常类一团糟。它实现了自己的构造函数,并且没有为标准 Exception 设置正确的值。它希望您使用 $e->getErrorMessage() 来获取消息。

<?php
/**
* E*TRADE PHP SDK
*
* @package PHP-SDK
* @version 1.1
* @copyright Copyright (c) 2012 E*TRADE FINANCIAL Corp.
*
*/

class ETWSException extends Exception
{
protected $errorCode;
protected $errorMessage;
protected $httpCode;
/**
* Constructor ETWSException
*
*/
public function __construct($errorMessage, $errorCode = null, $httpCode = null, Exception $previous = null) {
$this->errorMessage = $errorMessage;
$this->errorCode = $errorCode;
$this->httpCode = $httpCode;
}

/**
* Gets the value of the errorCode property.
*
* @return
* possible object is
* {@link Integer }
*
*/
public function getErrorCode() {
return $this->errorCode;
}

/**
* Gets the value of the errorMessage property.
*
* @return
* possible object is
* {@link String }
*
*/
public function getErrorMessage() {
return $this->errorMessage;
}


/**
* Gets the value of the httpStatusCode property.
*
* @return
* possible object is
* {@link String }
*
*/
public function getHttpCode() {
return $this->httpCode;
}

}

?>

关于php Exception.getMessage() 总是什么都不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32147416/

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