From a990e05069b3e56853870d3a94f546198bc14dde111bf99c78951a2b5b2926d8 Mon Sep 17 00:00:00 2001 From: Anton Rudenko Date: Thu, 30 Jan 2025 15:31:31 +0300 Subject: [PATCH] add new error types --- go/atom-decode.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/go/atom-decode.go b/go/atom-decode.go index 98e62ab..0cbcc53 100644 --- a/go/atom-decode.go +++ b/go/atom-decode.go @@ -35,6 +35,10 @@ var ( ErrBadUTF8 = errors.New("invalid UTF-8") ErrBadInt = errors.New("bad int value") ErrBadMagic = errors.New("bad magic value") + ErrTaiReserved = errors.New("reserved TAI64 values in use") + ErrTaiNonMinimal = errors.New("non-minimal TAI64") + ErrTooManyNsecs = errors.New("too many nanoseconds") + ErrTooManyAsecs = errors.New("too many attoseconds") ) func (ctx *Decoder) DecodeAtom() (t types.Type, err error) { @@ -208,28 +212,28 @@ func (ctx *Decoder) DecodeAtom() (t types.Type, err error) { return } if be.Get([]byte(s)[:8]) > (1 << 63) { - err = errors.New("reserved TAI64 values in use") + err = ErrTaiReserved return } if l > 8 { nsecs := be.Get([]byte(s)[8 : 8+4]) if l == 12 && nsecs == 0 { - err = errors.New("non-minimal TAI64N") + err = ErrTaiNonMinimal return } if nsecs > 999999999 { - err = errors.New("too many nanoseconds") + err = ErrTooManyNsecs return } } if l > 12 { asecs := be.Get([]byte(s)[8+4 : 8+4+4]) if asecs == 0 { - err = errors.New("non-minimal TAI64NA") + err = ErrTaiNonMinimal return } if asecs > 999999999 { - err = errors.New("too many attoseconds") + err = ErrTooManyAsecs return } } -- 2.50.0