Php/docs/exception.getprevious

来自菜鸟教程
跳转至:导航、​搜索

Exception::getPrevious

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Exception::getPrevious返回异常链中的前一个异常


说明

final public Exception::getPrevious ( ) : Throwable

返回异常链中的前一个异常(Exception::__construct()方法的第三个参数)。


参数

此函数没有参数。


返回值

返回异常链中的前一个异常 Throwable,否则返回null


更新日志

版本 说明
7.0.0 返回类型的定义改成了 Throwable


范例

Example #1 Exception::getPrevious()示例

追踪异常,并循环打印。


<?phpclass MyCustomException extends Exception {}function doStuff() {    try {        throw new InvalidArgumentException("You are doing it wrong!", 112);    } catch(Exception $e) {        throw new MyCustomException("Something happend", 911, $e);    }}try {    doStuff();} catch(Exception $e) {    do {        printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));    } while($e = $e->getPrevious());}?>

以上例程的输出类似于:


/home/bjori/ex.php:8 Something happend (911) [MyCustomException]
/home/bjori/ex.php:6 You are doing it wrong! (112) [InvalidArgumentException]

参见

  • Throwable::getPrevious()