diff --git a/mongox/base/reset.go b/mongox/base/reset.go index 9cfde56..eb07d47 100644 --- a/mongox/base/reset.go +++ b/mongox/base/reset.go @@ -1,6 +1,7 @@ package base import ( + "fmt" "reflect" ) @@ -19,7 +20,7 @@ func Reset(target interface{}) { v := reflect.ValueOf(target) if v.Kind() != reflect.Ptr { - panic("reset target should be a pointer") + panic(fmt.Errorf("reset target should be a pointer")) } t := v.Elem().Type() diff --git a/mongox/database/database.go b/mongox/database/database.go index 978cd2b..cf397d6 100644 --- a/mongox/database/database.go +++ b/mongox/database/database.go @@ -142,7 +142,7 @@ func (d *Database) createAggregateLoad(target interface{}, composed *query.Query } jsonTag, ok := tag.Lookup("json") if jsonTag == "-" { - return nil, fmt.Errorf("preload private field is impossible") + panic(fmt.Errorf("preload private field is impossible")) } jsonData := strings.SplitN(jsonTag, ",", 2) @@ -156,7 +156,7 @@ func (d *Database) createAggregateLoad(target interface{}, composed *query.Query continue } if len(preloadData) == 1 { - panic("there is no foreign field") + panic(fmt.Errorf("there is no foreign field")) } localField := strings.TrimSpace(preloadData[0]) @@ -166,7 +166,7 @@ func (d *Database) createAggregateLoad(target interface{}, composed *query.Query foreignField := strings.TrimSpace(preloadData[1]) if len(foreignField) == 0 { - panic("there is no foreign field") + panic(fmt.Errorf("there is no foreign field")) } preloadLimiter := 100 @@ -198,7 +198,7 @@ func (d *Database) createAggregateLoad(target interface{}, composed *query.Query typ = typ.Elem() } if typ.Kind() != reflect.Ptr { - panic("preload field should have ptr type") + panic(fmt.Errorf("preload field should have ptr type")) } lookupCollection := d.GetCollectionOf(reflect.Zero(typ).Interface())