Php 将数组()作为异常抛出时获取错误
我试图将数组作为异常传递。稍后我会将其编码为jsonPhp 将数组()作为异常抛出时获取错误,php,arrays,Php,Arrays,我试图将数组作为异常传递。稍后我会将其编码为json try { class myException extends Exception { private $params; public function setParams(array $params) { $this->params = $params; } public function getParams() { return $this->params; }
try {
class myException extends Exception {
private $params;
public function setParams(array $params) { $this->params = $params; }
public function getParams() { return $this->params; }
}
throw new myException(
array(
'error' => array(
'status' => true,
'code' => '12',
'note' => 'Does NOT contain application/json'
)
)
);
} catch (myException $e) {
print_r($e->getParams());
}
但不断出现以下错误:
致命错误:未捕获错误:myException([string]的参数错误
中的$message[,long$code[,Throwable$previous=NULL]]])
/home/domain/script.php:79堆栈跟踪:
#0/home/domain/script.php(79):异常->构造(数组)
#第79行的/home/domain/script.php中抛出了1{main}
甚至可以传递数组吗 如果是这样,我的代码有什么问题?需要一个字符串作为第一个参数。如果要传递数组,应重写构造函数
class myException extends Exception {
private $params;
public function setParams(array $params) { $this->params = $params; }
public function __construct(array $params = array(), $code = 0, Throwable $previous = NULL) {
$this->setParams($params);
parent::__construct('', $code, $previous);
}
需要字符串作为第一个参数。如果要传递数组,应重写构造函数
class myException extends Exception {
private $params;
public function setParams(array $params) { $this->params = $params; }
public function __construct(array $params = array(), $code = 0, Throwable $previous = NULL) {
$this->setParams($params);
parent::__construct('', $code, $previous);
}
当使用它时,我得到了以下错误:
致命错误:未捕获错误:调用/home/domain/script.php:25堆栈跟踪中未定义的方法myException::setParams():#0/home/domain/script.php(79):myException-u构造(数组)#1{main}抛出第25行的/home/domain/script.php
第25行是$this->setParams($params)代码>是。为什么要删除公共函数setParams(数组$params){$this->params=$params;}
?您应该保留该类的其余部分。使用该类时,我会出现以下错误:致命错误:未捕获错误:调用/home/domain/script.php:25堆栈跟踪:#0/home/domain/script.php(79):myException-u构造(数组)#1{main}在第25行的/home/domain/script.php中抛出第25行是$this->setParams($params)代码>是。为什么要删除公共函数setParams(数组$params){$this->params=$params;}
?你应该留下班上的其他人。