| package cli | |
| // StatusError reports an unsuccessful exit by a command. | |
| type StatusError struct { | |
| Cause error | |
| Status string | |
| StatusCode int | |
| } | |
| // Error formats the error for printing. If a custom Status is provided, | |
| // it is returned as-is, otherwise it generates a generic error-message | |
| // based on the StatusCode. | |
| func (e StatusError) Error() string { | |
| if e.Status != "" { | |
| return e.Status | |
| } | |
| if e.Cause != nil { | |
| return e.Cause.Error() | |
| } | |
| // we don't want to set a default message here, | |
| // some commands might want to be explicit about the error message | |
| return "" | |
| } | |
| func (e StatusError) Unwrap() error { | |
| return e.Cause | |
| } |