【发布时间】:2019-04-16 14:02:02
【问题描述】:
这是我的代码:
$id = 'wrong id';
try{
$myLaravelModel = MyLaravelModel::find($id);
$myLaravelModel->done = true; //here's error
}catch (Exception $e){
return 'error';
}
当代码到达带有注释的行时,我得到了错误:“从空值创建默认对象”,这是准确的,但我认为 catch 块会捕获它并返回“错误”。为什么它不起作用?
【问题讨论】:
-
exact 错误信息是什么?这甚至与异常有关吗?
-
@NicoHaase 当您尝试将属性分配给
null时,即使用$myLaravelModel->done = true;,它会引发错误“ErrorException:从空值创建默认对象”。注意这个错误是 Laravel 特有的;这是基本 php 中的Warning。话虽如此,我无法重现此问题。我的try { ... } catch(){ ... }处理得很好。
标签: php laravel exception model