Skip to content
This repository was archived by the owner on Dec 13, 2018. It is now read-only.

Commit e22b589

Browse files
committed
genericError constructors can accept nil error
if the error is nil, we do not populate generic error's message, but the constructor will still return a valid error Signed-off-by: Daniel, Dao Quang Minh <[email protected]>
1 parent 4ce8d97 commit e22b589

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

Diff for: generic_error.go

+10-4
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,32 @@ func newGenericError(err error, c ErrorCode) Error {
2525
if le, ok := err.(Error); ok {
2626
return le
2727
}
28-
return &genericError{
28+
gerr := &genericError{
2929
Timestamp: time.Now(),
3030
Err: err,
31-
Message: err.Error(),
3231
ECode: c,
3332
Stack: stacktrace.Capture(1),
3433
}
34+
if err != nil {
35+
gerr.Message = err.Error()
36+
}
37+
return gerr
3538
}
3639

3740
func newSystemError(err error) Error {
3841
if le, ok := err.(Error); ok {
3942
return le
4043
}
41-
return &genericError{
44+
gerr := &genericError{
4245
Timestamp: time.Now(),
4346
Err: err,
4447
ECode: SystemError,
45-
Message: err.Error(),
4648
Stack: stacktrace.Capture(1),
4749
}
50+
if err != nil {
51+
gerr.Message = err.Error()
52+
}
53+
return gerr
4854
}
4955

5056
type genericError struct {

0 commit comments

Comments
 (0)