db ()->get () 异常在哪里处理?
你们使用模型, 错误如何处理?
- 直接 throw 抛出异常, 模型外处理.
- 返回 false, 并设置错误说明.
- 其他(如结合上面2个, 错误:抛出异常,如数据库连不上;返回false:查询/更新异常等),
class User extends Authenticatable
{
use Notifiable;
function something ()
{
throw new \Exection('某个错误!'); // 1 模型直接抛出异常
}
function something2()
{
try {
throw new \Exection('某个错误二!');
} catch (\Exception $e) {
$this->error = 'error: ' . $e->getMessage(); // 2. 返回false, 附带错误
return false;
}
}
}
用哪个方法呢? 现在有点小纠结
用第二种吧, 错误信息 放到日志中,这样可以随时查看
第一种,防止有傻逼调用方自己不处理,导致莫名其妙的 Bug,所以第一种他不处理就挂给他看
第一种,别代码里一堆try catch
根据
let it crash
理念来说,第一种好点。@aen233 不太认为有什么不妥,明知道有错误,自己不去处理,还让程序继续跑着,等全局异常抛出;如果这个异常没有没捕获,是不是等着未知错误,给别人。可能自己件接触的不多,望大佬给解答下