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  }