Compare commits

...

2 Commits

Author SHA1 Message Date
fthandsome
e4182e1f76
Merge fd6ffcc01e0b834a8827a21a010383a793a6e6ef into c3d5a28ed6d3849da820195b6774d212bcc038a9 2025-11-08 10:02:29 +01:00
fwhez
fd6ffcc01e support c.Error(nil) 2020-08-28 10:44:41 +08:00

View File

@ -243,6 +243,11 @@ func (c *Context) AbortWithError(code int, err error) *Error {
/********* ERROR MANAGEMENT *********/
/************************************/
// Avoid panic case
var emptyError = &Error{
Err: fmt.Errorf("err is nil"),
Type: ErrorTypePrivate,
}
// Error attaches an error to the current context. The error is pushed to a list of errors.
// It's a good idea to call Error for each error that occurred during the resolution of a request.
// A middleware can be used to collect all the errors and push them to a database together,
@ -250,7 +255,9 @@ func (c *Context) AbortWithError(code int, err error) *Error {
// Error will panic if err is nil.
func (c *Context) Error(err error) *Error {
if err == nil {
panic("err is nil")
// Avoid panic case, and do not push it into c.Errors
return emptyError
//panic("err is nil")
}
var parsedError *Error