问题描述
异常
异常“错误”,消息为“类 'app\commands\CallLogs' not 找到'
无法被catch块捕获。
代码:
我尝试调用 undefined 类只是为了查看异常 catch 块如何捕获以及捕获什么。
public function actiontest(){
try {
$logs = new CallLogs();
} catch (\yii\base\Exception $ex) {
print $ex->getMessage();
} catch(\ErrorException $ex){
print $ex->getMessage();
}
}
但是,当我故意抛出任何异常时,它会起作用。
public function actiontest(){
try {
throw new \yii\base\Exception('hello');
} catch (\yii\base\Exception $ex) {
print $ex->getMessage();
} catch(\ErrorException $ex){
print $ex->getMessage();
}
}
我尝试过使用 base\Exception 类和 \ErrorException 类。但是,没有帮助。
任何帮助/提示都是可观的
解决方法
catch (\Throwable $e)
将完成这项工作
\Throwable
是在 PHP 7.0 中引入的,并且(引用自文档)用于
[...] 任何可以通过 throw 语句抛出的对象,包括 错误和异常。