我认为在所有编程语言中Exception
类都是Throwable
接口的实例。
看看下面的代码,其中显示Exception
不是php中Throwable
的实例。
try {
throw new InvalidArgumentException("error message");
} catch (InvalidArgumentException $e) {
if ($e instanceof Exception) {
echo '$e is exception'; // this line gets executed
}
if ($e instanceof Throwable) {
echo '$e is throwable'; // but this one never
}
}
在Exception
类构造函数在其最后一个参数中接受Throwable
的情况下,链接异常会产生问题。
php版本:5.6.23
任何解决方案?
答案 0 :(得分:6)
Throwable
是可以通过 PHP 7 中的throw
语句抛出的任何对象的基本界面,包括Error
和Exception
。如果您有 PHP版本> = 7
$e is exception $e is throwable
但您的PHP版本 5.6.23 ,因此此版本的Throwable
界面不可用。