package xerrors

import "github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors"

Index

Constants

const (
	TypeUndefined = Type(iota)
	TypeNoError
	TypeNonRetryable
	TypeConditionallyRetryable
	TypeRetryable
)

Functions

func As

func As(err error, targets ...interface{}) bool

As is a proxy to errors.As This need to single import errors

func ErrIf

func ErrIf(cond bool, err error) error

func FromGRPCError

func FromGRPCError(err error, opts ...teOpt) error

func FromOperation

func FromOperation(operation operationStatus) oeOpt

FromOperation is an option for construct operationStatus error from operationStatus FromOperation must use as `Operation(FromOperation(operationStatus))`

func HideEOF

func HideEOF(err error) error

func Is

func Is(err error, targets ...error) bool

Is is a improved proxy to errors.Is This need to single import errors

func IsOperationError

func IsOperationError(err error, codes ...Ydb.StatusIds_StatusCode) bool

IsOperationError reports whether err is operationError with given errType codes.

func IsTimeoutError

func IsTimeoutError(err error) bool

func IsTransportError

func IsTransportError(err error, codes ...grpcCodes.Code) bool

IsTransportError reports whether err is transportError with given grpc codes

func IsYdb

func IsYdb(err error) bool

func IterateByIssues

func IterateByIssues(err error, it func(message string, code Ydb.StatusIds_StatusCode, severity uint32))

func MustDeleteSession

func MustDeleteSession(err error) bool

func MustPessimizeEndpoint

func MustPessimizeEndpoint(err error, codes ...grpcCodes.Code) bool

func NewWithIssues

func NewWithIssues(text string, issues ...error) error

NewWithIssues returns error which contains child issues

func Operation

func Operation(opts ...oeOpt) error

func Retryable

func Retryable(err error, opts ...RetryableErrorOption) error

func StackRecord

func StackRecord(depth int) string

func Transport

func Transport(opts ...teOpt) error

Transport returns a new transport error with given options

func WithAddress

func WithAddress(address string) teOpt

func WithCode

func WithCode(code grpcCodes.Code) teOpt

func WithIssues

func WithIssues(issues []*Ydb_Issue.IssueMessage) oeOpt

WithIssues is an option for construct operationStatus error with issues list WithIssues must use as `Operation(WithIssues(issues))`

func WithSkipDepth

func WithSkipDepth(skipDepth int) withStackTraceOption

func WithStackTrace

func WithStackTrace(err error, opts ...withStackTraceOption) error

WithStackTrace is a wrapper over original err with file:line identification

func WithStatusCode

func WithStatusCode(code Ydb.StatusIds_StatusCode) oeOpt

WithStatusCode is an option for construct operationStatus error with reason code WithStatusCode must use as `Operation(WithStatusCode(reason))`

func Wrap

func Wrap(err error) error

Wrap makes internal ydb error

Types

type Error

type Error interface {
	error

	Code() int32
	Name() string
	Type() Type
	BackoffType() backoff.Type
	MustDeleteSession() bool
}

Error is an interface of error which reports about error code and error name.

func OperationError

func OperationError(err error) Error

func RetryableError

func RetryableError(err error) Error

RetryableError return Error if err is retriable error, else nil

func TransportError

func TransportError(err error) Error

type Issue

type Issue struct {
	Message  string
	Code     uint32
	Severity uint32
}

Issue struct

type IssueIterator

type IssueIterator []*Ydb_Issue.IssueMessage

func (IssueIterator) Get

func (it IssueIterator) Get(i int) (issue Issue, nested IssueIterator)

func (IssueIterator) Len

func (it IssueIterator) Len() int

type RetryableErrorOption

type RetryableErrorOption func(e *retryableError)

func WithBackoff

func WithBackoff(t backoff.Type) RetryableErrorOption

func WithDeleteSession

func WithDeleteSession() RetryableErrorOption

func WithName

func WithName(name string) RetryableErrorOption

type Type

type Type uint8

Type reports which error type

func Check

func Check(err error) (
	code int64,
	errType Type,
	backoffType backoff.Type,
	deleteSession bool,
)

Check returns retry mode for err.

func (Type) String

func (t Type) String() string

Source Files

check.go issues.go operation.go retryable.go stacktrace.go transport.go type.go xerrors.go ydb.go

Version
v3.42.4
Published
Jan 11, 2023
Platform
js/wasm
Imports
13 packages
Last checked
21 minutes ago

Tools for package owners.