1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // Copyright (C) 2014 The Protocol Authors.
- package protocol
- import (
- "errors"
- )
- var (
- ErrNoError error
- ErrGeneric = errors.New("generic error")
- ErrNoSuchFile = errors.New("no such file")
- ErrInvalid = errors.New("file is invalid")
- )
- var lookupError = map[ErrorCode]error{
- ErrorCodeNoError: ErrNoError,
- ErrorCodeGeneric: ErrGeneric,
- ErrorCodeNoSuchFile: ErrNoSuchFile,
- ErrorCodeInvalidFile: ErrInvalid,
- }
- var lookupCode = map[error]ErrorCode{
- ErrNoError: ErrorCodeNoError,
- ErrGeneric: ErrorCodeGeneric,
- ErrNoSuchFile: ErrorCodeNoSuchFile,
- ErrInvalid: ErrorCodeInvalidFile,
- }
- func codeToError(code ErrorCode) error {
- err, ok := lookupError[code]
- if !ok {
- return ErrGeneric
- }
- return err
- }
- func errorToCode(err error) ErrorCode {
- code, ok := lookupCode[err]
- if !ok {
- return ErrorCodeGeneric
- }
- return code
- }
|