mirror of https://github.com/go-redis/redis.git
Add redis.Error interface and export ErrClosed
Fixes https://github.com/go-redis/redis/issues/1295 Closes https://github.com/go-redis/redis/pull/1296
This commit is contained in:
parent
2960952204
commit
07656a01bf
15
error.go
15
error.go
|
@ -6,9 +6,24 @@ import (
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/go-redis/redis/v7/internal/pool"
|
||||||
"github.com/go-redis/redis/v7/internal/proto"
|
"github.com/go-redis/redis/v7/internal/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var ErrClosed = pool.ErrClosed
|
||||||
|
|
||||||
|
type Error interface {
|
||||||
|
error
|
||||||
|
|
||||||
|
// RedisError is a no-op function but
|
||||||
|
// serves to distinguish types that are Redis
|
||||||
|
// errors from ordinary errors: a type is a
|
||||||
|
// Redis error if it has a RedisError method.
|
||||||
|
RedisError()
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ Error = proto.RedisError("")
|
||||||
|
|
||||||
func isRetryableError(err error, retryTimeout bool) bool {
|
func isRetryableError(err error, retryTimeout bool) bool {
|
||||||
switch err {
|
switch err {
|
||||||
case nil, context.Canceled, context.DeadlineExceeded:
|
case nil, context.Canceled, context.DeadlineExceeded:
|
||||||
|
|
|
@ -24,6 +24,8 @@ type RedisError string
|
||||||
|
|
||||||
func (e RedisError) Error() string { return string(e) }
|
func (e RedisError) Error() string { return string(e) }
|
||||||
|
|
||||||
|
func (RedisError) RedisError() {}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
type MultiBulkParse func(*Reader, int64) (interface{}, error)
|
type MultiBulkParse func(*Reader, int64) (interface{}, error)
|
||||||
|
|
Loading…
Reference in New Issue