/
error.go
64 lines (50 loc) · 1.52 KB
/
error.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package minetest
import (
"errors"
"fmt"
"strings"
)
var (
ErrInvalidLocation = errors.New("the location specified is Invalid")
ErrInvalidStack = errors.New("tried to interact with invalid stack")
ErrInvalidInv = errors.New("tried to interact with invalid inventory")
ErrStackInsufficient = errors.New("stack quanitiy is ErrStackInsufficient")
ErrStackNotEmpty = errors.New("the stack interacted with is not empty")
ErrInvalidPos = errors.New("the position supplied is not parsable (e.g. not 3 dimensional)")
ErrOutOfSpace = errors.New("inventory already full")
ErrInvalidFormspec = errors.New("formspec is not registered")
ErrClientNotReady = errors.New("client not ready")
ErrClientDataNil = errors.New("client data unexpectedly nil")
ErrAOTimeout = errors.New("ActiveObject timeout reached")
)
var (
ErrNilValue = errors.New("unexpected nil value")
)
type nodeDefNotFoundErr struct {
name string
}
func (ndnfe nodeDefNotFoundErr) Error() string {
return fmt.Sprintf("Node definition not Found: '%s'", ndnfe.name)
}
type BlamedErr struct {
Err error
Cause string
}
func (err *BlamedErr) Error() string {
return fmt.Sprintf("%s because of %s!", err.Err, err.Cause)
}
func (r Registerd[T]) Blame(err error) error {
return &BlamedErr{
Err: err,
Cause: r.Path(),
}
}
type MultiError struct {
Errs []error
}
func (err *MultiError) Error() string {
return strings.Join(strSlice(err.Errs), " & ")
}
func (merr *MultiError) Add(err error) {
merr.Errs = append(merr.Errs, err)
}