@@ -8,6 +8,7 @@ package util
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/url"
|
||||
@@ -262,6 +263,19 @@ type FatalErr struct {
|
||||
Status ExitStatus
|
||||
}
|
||||
|
||||
// AsFatalErr wraps the given error creating a FatalErr. If the given error
|
||||
// already is of type FatalErr, it is not wrapped again.
|
||||
func AsFatalErr(err error, status ExitStatus) *FatalErr {
|
||||
var ferr *FatalErr
|
||||
if errors.As(err, &ferr) {
|
||||
return ferr
|
||||
}
|
||||
return &FatalErr{
|
||||
Err: err,
|
||||
Status: status,
|
||||
}
|
||||
}
|
||||
|
||||
func (e *FatalErr) Error() string {
|
||||
return e.Err.Error()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user