通常情况下我是这么写的
DB::beginTransaction();
try{
//业务代码
DB::commit();
}catch (\Exception $e){
DB::rollBack();
//写日志
}
刚刚公司大佬说,满屏 try catch 这种写法不太好
所以想问下 laravel 框架大家是怎么写的
1
zachlhb 2020-05-16 15:53:20 +08:00 via Android
可以试试在 exception 类里统一捕捉
|
2
Valid 2020-05-16 15:54:43 +08:00
也不是每个地方都要用到事务呀
|
3
keepeye 2020-05-16 15:55:56 +08:00
我记得是不是有一个这样的方法
DB::transaction(funciton(){ }) |
4
keepeye 2020-05-16 16:00:08 +08:00
业务块的异常就要在这个业务块处理是合理的,哪来的满屏 try...catch 只说,难道有异常不处理吗
|
5
awanganddong OP 统一在 exception handle 里边处理,这个确实是一个方法,我要找个样例看看
用 DB::transaction 这种操作我现在还没试过 事务的应用场景在我公司项目里边还是比较多的 |
6
kiddyu 2020-05-16 16:28:18 +08:00
业务代码里
``` DB::beginTransaction(); DB::commit(); ``` exception handle 里 ``` DB::rollBack(); ``` |
7
awanganddong OP @kiddyu 学习了
|
8
sansanhehe 2020-05-16 17:28:22 +08:00
@keepeye 同意,该 catch error 的时候,就要写
|