laravel 关于异常与事务怎么写代码比较好

2020-05-16 15:27:35 +08:00
 awanganddong

通常情况下我是这么写的

        DB::beginTransaction();

        try{
            //业务代码
            DB::commit();
        }catch (\Exception $e){
            DB::rollBack();
            //写日志
        }

刚刚公司大佬说,满屏 try catch 这种写法不太好

所以想问下 laravel 框架大家是怎么写的

2783 次点击
所在节点    PHP
8 条回复
zachlhb
2020-05-16 15:53:20 +08:00
可以试试在 exception 类里统一捕捉
Valid
2020-05-16 15:54:43 +08:00
也不是每个地方都要用到事务呀
keepeye
2020-05-16 15:55:56 +08:00
我记得是不是有一个这样的方法

DB::transaction(funciton(){

})
keepeye
2020-05-16 16:00:08 +08:00
业务块的异常就要在这个业务块处理是合理的,哪来的满屏 try...catch 只说,难道有异常不处理吗
awanganddong
2020-05-16 16:05:38 +08:00
统一在 exception handle 里边处理,这个确实是一个方法,我要找个样例看看

用 DB::transaction 这种操作我现在还没试过

事务的应用场景在我公司项目里边还是比较多的
kiddyu
2020-05-16 16:28:18 +08:00
业务代码里
```
DB::beginTransaction();
DB::commit();
```

exception handle 里
```
DB::rollBack();
```
awanganddong
2020-05-16 16:34:07 +08:00
@kiddyu 学习了
sansanhehe
2020-05-16 17:28:22 +08:00
@keepeye 同意,该 catch error 的时候,就要写

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/672353

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX