yjp пре 11 месеци
родитељ
комит
39629fca03
1 измењених фајлова са 3 додато и 2 уклоњено
  1. 3 2
      framework/core/infrastructure/database/database.go

+ 3 - 2
framework/core/infrastructure/database/database.go

@@ -66,7 +66,7 @@ const (
 // - txFunc: 事务函数
 // 返回值:
 // - 错误
-func Transaction(executor Executor, txFunc func(tx Executor) error) error {
+func Transaction(executor Executor, txFunc func(tx Executor) error) (err error) {
 	if executor == nil {
 		return nil
 	}
@@ -82,10 +82,11 @@ func Transaction(executor Executor, txFunc func(tx Executor) error) error {
 		defer func() {
 			if r := recover(); r != nil {
 				tx.RollbackTransaction()
+				err = errors.Errorf("panic: %v", r)
 			}
 		}()
 
-		err := txFunc(tx)
+		err = txFunc(tx)
 		if err != nil {
 			tx.RollbackTransaction()
 			return err