Documentation
¶
Index ¶
- Variables
- func UpdateLogger(logger *logging.Logger)
- type CustomError
- func (e *CustomError) Error() string
- func (e *CustomError) Format(values map[string]string) *CustomError
- func (e *CustomError) HTML() (HtmlError, int)
- func (e *CustomError) HandelWeb(w http.ResponseWriter, r *http.Request) bool
- func (e *CustomError) HandelWebExit(w http.ResponseWriter, r *http.Request) *CustomError
- func (err *CustomError) Is(target error) bool
- func (err *CustomError) IsFromPreset(preset *CustomErrorPreset) bool
- func (e *CustomError) Log() *CustomError
- type CustomErrorPreset
- type ErrorHandler
- func (hand *ErrorHandler) GetErrorSources(ErrorSourceNames ...string) []*ErrorSource
- func (hand *ErrorHandler) Parse(err error) *CustomError
- func (hand *ErrorHandler) ParseWith(err error, ErrorSources ...ErrorSource) *CustomError
- func (hand *ErrorHandler) RegisterErrorSource(sources ...*ErrorSource) *ErrorHandler
- func (hand *ErrorHandler) UnregisterErrorSource(source *ErrorSource) *ErrorHandler
- func (hand *ErrorHandler) UpdateLogger(logger *logging.Logger)
- type ErrorLevel
- type ErrorSource
- type HtmlError
Constants ¶
This section is empty.
Variables ¶
View Source
var FailedToGenerateTraceId = CustomErrorPreset{ Code: 500, UserMessage: "", DevMessage: "Error while generating trace id.", LogMessage: "Error while generating trace id.", Source: &GenericErrorsSource, Level: ErrorWARN, HttpCode: 500, }
View Source
var GenericInternalServerError = CustomErrorPreset{ Code: 500, UserMessage: "Internal server error", DevMessage: "An unexpected error occurred on the server", LogMessage: "Internal server error encountered", Source: &GenericErrorsSource, Level: ErrorMedium, HttpCode: 500, }
Preset for 500 Internal Server Error
Functions ¶
func UpdateLogger ¶
Types ¶
type CustomError ¶
type CustomError struct {
TraceId string
CustomErrorPreset
}
func NewCustomError ¶
func NewCustomError(preset CustomErrorPreset) *CustomError
func NewError ¶
func NewError(err error) *CustomError
func Parse ¶
func Parse(err error) *CustomError
func ParseWith ¶
func ParseWith(err error, ErrorSources ...ErrorSource) *CustomError
func (*CustomError) Error ¶
func (e *CustomError) Error() string
Implement the Error() method for CustomError to satisfy the error interface
func (*CustomError) Format ¶ added in v0.0.3
func (e *CustomError) Format(values map[string]string) *CustomError
func (*CustomError) HTML ¶
func (e *CustomError) HTML() (HtmlError, int)
func (*CustomError) HandelWeb ¶
func (e *CustomError) HandelWeb(w http.ResponseWriter, r *http.Request) bool
func (*CustomError) HandelWebExit ¶
func (e *CustomError) HandelWebExit(w http.ResponseWriter, r *http.Request) *CustomError
func (*CustomError) Is ¶
func (err *CustomError) Is(target error) bool
func (*CustomError) IsFromPreset ¶
func (err *CustomError) IsFromPreset(preset *CustomErrorPreset) bool
func (*CustomError) Log ¶
func (e *CustomError) Log() *CustomError
type CustomErrorPreset ¶
type CustomErrorPreset struct {
// PresetID is a unique identifier for this preset. Used for comparisons. if left empty it wil be dynamically created.
PresetID uint `json:"preset_id"`
// Code is the internal error code used for logic or identification.
Code int `json:"code"`
// UserMessage is a message intended to be shown to end users.
UserMessage string `json:"user_message"`
// DevMessage is a message intended for developers or debugging purposes.
DevMessage string `json:"dev_message"`
// LogMessage is the message that should be written to logs.
LogMessage string `json:"log_message"`
// Source identifies the origin or category of the error.
Source *ErrorSource `json:"source"`
// Level indicates the severity or type of the error.
Level ErrorLevel `json:"level"`
// HttpCode is the HTTP status code to return if this error is exposed via an API.
HttpCode int `json:"http_code"`
// ContinueExecution determines whether program execution should continue after this error.
ContinueExecution bool `json:"continue_execution"`
}
CustomErrorPreset defines a reusable error template with associated metadata.
func (*CustomErrorPreset) Error ¶
func (ep *CustomErrorPreset) Error() string
func (*CustomErrorPreset) New ¶
func (preset *CustomErrorPreset) New() *CustomError
type ErrorHandler ¶
type ErrorHandler struct {
// contains filtered or unexported fields
}
func Default ¶
func Default() *ErrorHandler
func NewErrorHandler ¶
func NewErrorHandler(logger *logging.Logger) *ErrorHandler
func RegisterErrorSource ¶
func RegisterErrorSource(sources ...*ErrorSource) *ErrorHandler
func UnregisterErrorSource ¶
func UnregisterErrorSource(source *ErrorSource) *ErrorHandler
func (*ErrorHandler) GetErrorSources ¶
func (hand *ErrorHandler) GetErrorSources(ErrorSourceNames ...string) []*ErrorSource
func (*ErrorHandler) Parse ¶
func (hand *ErrorHandler) Parse(err error) *CustomError
Attempts to parse an error using registered error sources. Returns a CustomError if recognized, otherwise wraps it in a generic CustomError.
func (*ErrorHandler) ParseWith ¶
func (hand *ErrorHandler) ParseWith(err error, ErrorSources ...ErrorSource) *CustomError
func (*ErrorHandler) RegisterErrorSource ¶
func (hand *ErrorHandler) RegisterErrorSource(sources ...*ErrorSource) *ErrorHandler
Registers one or more error sources to the handler.
func (*ErrorHandler) UnregisterErrorSource ¶
func (hand *ErrorHandler) UnregisterErrorSource(source *ErrorSource) *ErrorHandler
Unregisters a specific error source.
func (*ErrorHandler) UpdateLogger ¶
func (hand *ErrorHandler) UpdateLogger(logger *logging.Logger)
type ErrorLevel ¶
type ErrorLevel int
const ( ErrorWARN ErrorLevel = iota ErrorWrongUsage ErrorMedium ErrorFail )
type ErrorSource ¶
type ErrorSource struct {
Name string
ParseError func(error) *CustomError
SML *logging.SystemModuleLogger
}
var GenericErrorsSource ErrorSource = ErrorSource{ Name: "Generic", ParseError: func(err error) *CustomError { return nil }, }
func GetErrorSources ¶
func GetErrorSources(ErrorSourceNames ...string) []*ErrorSource
Click to show internal directories.
Click to hide internal directories.