db ()->get () 异常在哪里处理?

你们使用模型, 错误如何处理?

  1. 直接 throw 抛出异常, 模型外处理.
  2. 返回 false, 并设置错误说明.
  3. 其他(如结合上面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就在你眼前,你却怎么都找不到ta。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

用第二种吧, 错误信息 放到日志中,这样可以随时查看

4年前 评论
kis龍 (楼主) 4年前
TimJuly

第一种,防止有傻逼调用方自己不处理,导致莫名其妙的 Bug,所以第一种他不处理就挂给他看

4年前 评论
kis龍 (楼主) 4年前

第一种,别代码里一堆try catch

4年前 评论
kis龍 (楼主) 4年前

根据 let it crash 理念来说,第一种好点。

4年前 评论

@aen233 不太认为有什么不妥,明知道有错误,自己不去处理,还让程序继续跑着,等全局异常抛出;如果这个异常没有没捕获,是不是等着未知错误,给别人。可能自己件接触的不多,望大佬给解答下

4年前 评论
aen233 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!