diff options
Diffstat (limited to 'modules/process/error.go')
-rw-r--r-- | modules/process/error.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/modules/process/error.go b/modules/process/error.go new file mode 100644 index 0000000..8f02f65 --- /dev/null +++ b/modules/process/error.go @@ -0,0 +1,25 @@ +// Copyright 2022 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package process + +import "fmt" + +// Error is a wrapped error describing the error results of Process Execution +type Error struct { + PID IDType + Description string + Err error + CtxErr error + Stdout string + Stderr string +} + +func (err *Error) Error() string { + return fmt.Sprintf("exec(%s:%s) failed: %v(%v) stdout: %s stderr: %s", err.PID, err.Description, err.Err, err.CtxErr, err.Stdout, err.Stderr) +} + +// Unwrap implements the unwrappable implicit interface for go1.13 Unwrap() +func (err *Error) Unwrap() error { + return err.Err +} |