github.com/abolfazlbeh/zhycan@v0.0.0-20230819144214-24cf38237387/internal/config/error.go (about) 1 package config 2 3 // Imports needed list 4 import ( 5 "fmt" 6 ) 7 8 // KeyNotExistErr Error 9 type KeyNotExistErr struct { 10 Key interface{} 11 Category interface{} 12 Err error 13 } 14 15 // Error method - satisfying error interface 16 func (err *KeyNotExistErr) Error() string { 17 return fmt.Sprintf("The key: '%v' does not exist in %v | %v", err.Key, err.Category, err.Err) 18 } 19 20 // NewKeyNotExistErr - return a new instance of KeyNotExistErr 21 func NewKeyNotExistErr(key, category string, err error) error { 22 return &KeyNotExistErr{ 23 Key: key, 24 Category: category, 25 Err: err, 26 } 27 } 28 29 // CategoryNotExistErr Error 30 type CategoryNotExistErr struct { 31 Key interface{} 32 Err error 33 } 34 35 // Error method - satisfying error interface 36 func (err *CategoryNotExistErr) Error() string { 37 return fmt.Sprintf("The config file '%v' does not exist | %v", err.Key, err.Err) 38 } 39 40 // NewCategoryNotExistErr - return a new instance of CategoryNotExistErr 41 func NewCategoryNotExistErr(key string, err error) error { 42 return &CategoryNotExistErr{ 43 Key: key, 44 Err: err, 45 } 46 } 47 48 // RemoteLoadErr Error 49 type RemoteLoadErr struct { 50 Name interface{} 51 Err error 52 } 53 54 // Error method - satisfying error interface 55 func (err *RemoteLoadErr) Error() string { 56 return fmt.Sprintf("Cannot load remote config: %v | %v", err.Name, err.Err) 57 } 58 59 // NewRemoteLoadErr - return a new instance of RemoteLoadErr 60 func NewRemoteLoadErr(name interface{}, err error) error { 61 return &RemoteLoadErr{ 62 Name: name, 63 Err: err, 64 } 65 } 66 67 // RemoteResponseErr Error 68 type RemoteResponseErr struct { 69 Err error 70 } 71 72 // Error method - satisfying error interface 73 func (err *RemoteResponseErr) Error() string { 74 return fmt.Sprintf("Cannot get response from remote | %v", err.Err) 75 } 76 77 // NewRemoteResponseErr - return a new instance of RemoteResponseErr 78 func NewRemoteResponseErr(err error) error { 79 return &RemoteResponseErr{Err: err} 80 }