上传db层 异常捕捉

This commit is contained in:
liwei1dao 2023-01-03 14:14:36 +08:00
parent 15936f15c0
commit 1133905bb2

View File

@ -13,6 +13,7 @@ import (
"go_dreamfactory/lego/utils/codec/codecore" "go_dreamfactory/lego/utils/codec/codecore"
"go_dreamfactory/lego/utils/codec/json" "go_dreamfactory/lego/utils/codec/json"
"reflect" "reflect"
"runtime"
"time" "time"
"unsafe" "unsafe"
@ -313,6 +314,14 @@ func (this *DBModel) Get(uid string, data interface{}, opt ...DBOption) (err err
//读取多个数据对象 //读取多个数据对象
func (this *DBModel) Gets(ids []string, data interface{}, opt ...DBOption) (err error) { func (this *DBModel) Gets(ids []string, data interface{}, opt ...DBOption) (err error) {
//defer log.Debug("DBModel GetListObjs", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "ids", Value: ids}, log.Field{Key: "data", Value: data}) //defer log.Debug("DBModel GetListObjs", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "ids", Value: ids}, log.Field{Key: "data", Value: data})
defer func() { //程序异常 收集异常信息传递给前端显示
if r := recover(); r != nil {
buf := make([]byte, 4096)
l := runtime.Stack(buf, false)
err = fmt.Errorf("%v: %s", r, buf[:l])
log.Errorf("[DB Gets] TableName:%s ids:%v", this.TableName, ids)
}
}()
var ( var (
dtype reflect2.Type dtype reflect2.Type
dkind reflect.Kind dkind reflect.Kind
@ -427,6 +436,14 @@ func (this *DBModel) Gets(ids []string, data interface{}, opt ...DBOption) (err
//获取列表数据 注意 data 必须是 切片的指针 *[]type //获取列表数据 注意 data 必须是 切片的指针 *[]type
func (this *DBModel) GetList(uid string, data interface{}) (err error) { func (this *DBModel) GetList(uid string, data interface{}) (err error) {
//defer log.Debug("DBModel GetList", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "data", Value: data}) //defer log.Debug("DBModel GetList", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "data", Value: data})
defer func() { //程序异常 收集异常信息传递给前端显示
if r := recover(); r != nil {
buf := make([]byte, 4096)
l := runtime.Stack(buf, false)
err = fmt.Errorf("%v: %s", r, buf[:l])
log.Errorf("[DB GetList] TableName:%s uid:%s", this.TableName, uid)
}
}()
var ( var (
dtype reflect2.Type dtype reflect2.Type
dkind reflect.Kind dkind reflect.Kind
@ -706,6 +723,14 @@ func (this *DBModel) GetListObj(uid string, id string, data interface{}) (err er
//读取列表数据中单个数据 //读取列表数据中单个数据
func (this *DBModel) GetListObjs(uid string, ids []string, data interface{}) (err error) { func (this *DBModel) GetListObjs(uid string, ids []string, data interface{}) (err error) {
//defer log.Debug("DBModel GetListObjs", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "ids", Value: ids}, log.Field{Key: "data", Value: data}) //defer log.Debug("DBModel GetListObjs", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "ids", Value: ids}, log.Field{Key: "data", Value: data})
defer func() { //程序异常 收集异常信息传递给前端显示
if r := recover(); r != nil {
buf := make([]byte, 4096)
l := runtime.Stack(buf, false)
err = fmt.Errorf("%v: %s", r, buf[:l])
log.Errorf("[DB GetListObjs] TableName:%s uid:%s", this.TableName, uid)
}
}()
var ( var (
dtype reflect2.Type dtype reflect2.Type
dkind reflect.Kind dkind reflect.Kind