From c2967c8029247521ef99afbbde505796d941e1b3 Mon Sep 17 00:00:00 2001 From: xxchan Date: Fri, 2 Jul 2021 17:24:57 +0800 Subject: [PATCH] Update error handling --- utils.go | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/utils.go b/utils.go index f2b4001..ec89e02 100644 --- a/utils.go +++ b/utils.go @@ -20,12 +20,36 @@ func (s *Storage) String() string { // NewStorager will create Storager only. func NewStorager(pairs ...types.Pair) (types.Storager, error) { + return newStorager(pairs...) +} + +// newStorager will create a storage client. +func newStorager(pairs ...types.Pair) (store *Storage, err error) { + defer func() { + if err != nil { + err = services.InitError{Op: "new_storager", Type: Type, Err: formatError(err), Pairs: pairs} + } + }() + panic("implement me") } +func (s *Storage) formatError(op string, err error, path ...string) error { + if err == nil { + return nil + } + + return services.StorageError{ + Op: op, + Err: formatError(err), + Storager: s, + Path: path, + } +} + // formatError converts errors returned by SDK into errors defined in go-storage and go-service-*. // The original error SHOULD NOT be wrapped. -func (s *Storage) formatError(op string, err error, path ...string) error { +func formatError(err error) error { if _, ok := err.(services.InternalError); ok { return err }