使用Laravel 4.2。*和PHP 5.5.8我有一个try catch块正确地捕获警告“从空值创建默认对象”。但是getCode()调用返回0.
有没有办法设置我的环境,以便这个和其他异常总是为getCode()返回一个非零值? (注意我已经捕获了getCode返回字符串的PDOExceptions。)
try{
//do something that causes the above exception;
catch($e){
$code = $e->getCode();
}
帖子的重点不在于导致错误,而是$ e-> getCode()返回0值。我想使用getCode()没有保证值,因为它依赖于未知代码抛出异常。
答案 0 :(得分:0)
(Note I'm already trapping for PDOExceptions where getCode returns a string.)
不确定如何从此方法中获取string
...
根据此处的文档http://php.net/manual/en/exception.getcode.php,异常对象getCode()
上的Gets the Exception code
方法。
即。
<?php
try {
throw new Exception("Some error message", 30);
} catch(Exception $e) {
echo "The exception code is: " . $e->getCode();
}
?>
将输出:
The exception code is: 30
因此,如果您从0
方法获得getCode()
,则很可能是在未明确设置异常代码的情况下抛出的异常。例如throw new Exception("An error has occurred");