@@ -27,28 +27,40 @@ import (
2727
2828func main () {
2929 // Use wrap function to create an *Error error which has code and message.
30+ // You can get code and message of err anytime.
3031 err := errors.Wrap (1000 , " need login" )
3132 fmt.Println (err)
32-
33- // You can get code and message of err anytime.
3433 fmt.Println (err.Code (), err.Message ())
3534
3635 // Try these ways to get code and message!
3736 // You will get default code or message if err doesn't have a code or message.
38- fmt.Println (errors.Code (err, 6699 ), errors.Message (err, " default message" ))
39- fmt.Println (errors.Code (io.EOF , 6699 ), errors.Message (io.EOF , " default message" ))
37+ code := errors.Code (err, 6699 )
38+ message := errors.Message (err, " default message" )
39+ fmt.Println (code, message)
40+
41+ code = errors.Code (io.EOF , 6699 )
42+ message = errors.Message (io.EOF , " default message" )
43+ fmt.Println (code, message)
4044
4145 // Also, we provide some useful information carrier for you.
46+ // For examples, you can carry an error or caller information.
4247 err = errors.Wrap (9999 , " io timeout" ).With (io.EOF ).WithCaller ()
4348 fmt.Println (err)
49+ fmt.Println (errors.CodeMessage (err, 6666 , " default message" ))
4450
4551 // What's more, we provide some shortcuts for you.
46- // All these ways are returning a *Error and you are free to use all methods on *Error.
52+ // All these ways are returning *Error and you are free to use all methods on *Error.
4753 berr := errors.BadRequest (" id is wrong" )
4854 ferr := errors.Forbidden (" user isn't allowed" )
4955 nerr := errors.NotFound (" book not found" )
5056 rerr := errors.RequireLogin (" user requires login" )
5157 fmt.Printf (" %+v \n %+v \n %+v \n %+v \n " , berr, ferr, nerr, rerr)
58+
59+ isBadRequest := errors.MatchBadRequest (berr)
60+ isForbidden := errors.MatchForbidden (ferr)
61+ isNotFound := errors.MatchNotFound (nerr)
62+ isRequireLogin := errors.MatchRequireLogin (rerr)
63+ fmt.Printf (" isBadRequest: %+v \n isForbidden: %+v \n isNotFound: %+v \n isRequireLogin: %+v \n " , isBadRequest, isForbidden, isNotFound, isRequireLogin)
5264}
5365
5466```
0 commit comments