error.gno
2.01 Kb ยท 73 lines
1package uint256
2
3import (
4 "errors"
5)
6
7var (
8 ErrEmptyString = errors.New("empty hex string")
9 ErrSyntax = errors.New("invalid hex string")
10 ErrRange = errors.New("number out of range")
11 ErrMissingPrefix = errors.New("hex string without 0x prefix")
12 ErrEmptyNumber = errors.New("hex string \"0x\"")
13 ErrLeadingZero = errors.New("hex number with leading zero digits")
14 ErrBig256Range = errors.New("hex number > 256 bits")
15 ErrBadBufferLength = errors.New("bad ssz buffer length")
16 ErrBadEncodedLength = errors.New("bad ssz encoded length")
17 ErrInvalidBase = errors.New("invalid base")
18 ErrInvalidBitSize = errors.New("invalid bit size")
19)
20
21type u256Error struct {
22 fn string // function name
23 input string
24 err error
25}
26
27func (e *u256Error) Error() string {
28 return e.fn + ": " + e.input + ": " + e.err.Error()
29}
30
31func (e *u256Error) Unwrap() error {
32 return e.err
33}
34
35func errEmptyString(fn, input string) error {
36 return &u256Error{fn: fn, input: input, err: ErrEmptyString}
37}
38
39func errSyntax(fn, input string) error {
40 return &u256Error{fn: fn, input: input, err: ErrSyntax}
41}
42
43func errMissingPrefix(fn, input string) error {
44 return &u256Error{fn: fn, input: input, err: ErrMissingPrefix}
45}
46
47func errEmptyNumber(fn, input string) error {
48 return &u256Error{fn: fn, input: input, err: ErrEmptyNumber}
49}
50
51func errLeadingZero(fn, input string) error {
52 return &u256Error{fn: fn, input: input, err: ErrLeadingZero}
53}
54
55func errRange(fn, input string) error {
56 return &u256Error{fn: fn, input: input, err: ErrRange}
57}
58
59func errBig256Range(fn, input string) error {
60 return &u256Error{fn: fn, input: input, err: ErrBig256Range}
61}
62
63func errBadBufferLength(fn, input string) error {
64 return &u256Error{fn: fn, input: input, err: ErrBadBufferLength}
65}
66
67func errInvalidBase(fn string, base int) error {
68 return &u256Error{fn: fn, input: string(base), err: ErrInvalidBase}
69}
70
71func errInvalidBitSize(fn string, bitSize int) error {
72 return &u256Error{fn: fn, input: string(bitSize), err: ErrInvalidBitSize}
73}