Documentation ¶
Overview ¶
Package punix examines unix.Errno errors and identifies Unix-like platforms.
Index ¶
- func Errno(err error) (errnoValue unix.Errno)
- func ErrnoError(err error, includeError ...bool) (errnoString string)
- func ErrnoString(label string, err error) (errnoNumericString string)
- func IsConnectionRefused(err error) (isConnectionRefused bool)
- func IsENOENT(err error) (isENOENT bool)
- func OsVersion() (version string, hasVersion bool, err error)
- func Processor() (model string, err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Errno ¶
Errno scans an error chain for a unix.Errno type.
- if no errno value exists, unix.Errno 0x0 is returned
- unlike most error implementations, unix.Errno type is uintptr
- to check for error condition of a unix.Errno error: if errno != 0 {…
- to obtain errno number: int(errno)
- to print errno number: fmt.Sprintf("%d", errno) → "1"
- to print errno message: fmt.Sprintf("%v", unix.EPERM) → "operation not permitted"
- to obtain errno name: unix.ErrnoName(unix.EPERM) → "EPERM"
- to print hexadecimal errno:
Note: unix.Errno.Error has value receiver. Errno checks:
Errno(nil) == 0 → true. if errno != 0 {… int(errno) // numeric value if errno == unix.ENOENT… fmt.Sprintf("%d", unix.EPERM) → "1" fmt.Printf("%v", errno) → "state not recoverable" unix.ErrnoName(unix.EPERM) → "EPERM" var i, s = int(errno), "" if i < 0 { i = -i; s = "-" } fmt.Printf("%s0x%x", s, i) → 0x68
func ErrnoError ¶
ErrnoError gets the errno interpretation if the error chain does contain a unix.Errno type. if includeError is true, the error chain’s error message is prepended. if includeError is true and err is nil "OK" is returned if includeError is false or missing and no errno exists, the empty string is returned
func ErrnoString ¶ added in v0.4.86
ErrnoString returns the errno number as a string if the err error chain has a non-zero syscall.Errno error.
- if label is empty string, no label is returned
- if no syscall.Errno is found or it is zero, the empty string is returned
- ErrnoString("errno", nil) → ""
- ErrnoString("errno", unix.EPERM) → "errno: EPERM 1 0x1"
- ErrnoString("errno", unix.Errno(math.MaxUint)) → "-1 -0x1"
func IsConnectionRefused ¶
IsConnectionRefused searches the error chsin of err for unix.ECONNREFUSED net.Dialer errors for closed socket
func IsENOENT ¶
IsENOENT returns true if the root cause of err is file not found. Can be used with os.Open* file not found
Types ¶
This section is empty.