Merge pull request #910 from ammario/develop
panic if err is nil on c.Error
This commit is contained in:
commit
e0518111f8
@ -149,7 +149,11 @@ func (c *Context) AbortWithError(code int, err error) *Error {
|
|||||||
// It's a good idea to call Error for each error that occurred during the resolution of a request.
|
// 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
|
// A middleware can be used to collect all the errors
|
||||||
// and push them to a database together, print a log, or append it in the HTTP response.
|
// and push them to a database together, print a log, or append it in the HTTP response.
|
||||||
|
// Error will panic if err is nil.
|
||||||
func (c *Context) Error(err error) *Error {
|
func (c *Context) Error(err error) *Error {
|
||||||
|
if err == nil {
|
||||||
|
panic("err is nil")
|
||||||
|
}
|
||||||
var parsedError *Error
|
var parsedError *Error
|
||||||
switch err.(type) {
|
switch err.(type) {
|
||||||
case *Error:
|
case *Error:
|
||||||
|
@ -1014,6 +1014,13 @@ func TestContextError(t *testing.T) {
|
|||||||
assert.Equal(t, c.Errors[1].Type, ErrorTypePublic)
|
assert.Equal(t, c.Errors[1].Type, ErrorTypePublic)
|
||||||
|
|
||||||
assert.Equal(t, c.Errors.Last(), c.Errors[1])
|
assert.Equal(t, c.Errors.Last(), c.Errors[1])
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
if recover() == nil {
|
||||||
|
t.Error("didn't panic")
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
c.Error(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestContextTypedError(t *testing.T) {
|
func TestContextTypedError(t *testing.T) {
|
||||||
|
Loading…
Reference in New Issue
Block a user