summaryrefslogtreecommitdiff
path: root/spew/common.go
diff options
context:
space:
mode:
Diffstat (limited to 'spew/common.go')
-rw-r--r--spew/common.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/spew/common.go b/spew/common.go
index 6b8bfec..11ec612 100644
--- a/spew/common.go
+++ b/spew/common.go
@@ -150,11 +150,26 @@ func handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handled bool)
switch iface := viface.(type) {
case error:
defer catchPanic(w, v)
+ if cs.ContinueOnMethod {
+ w.Write(append(openParenBytes, []byte(iface.Error())...))
+ w.Write(closeParenBytes)
+ w.Write(spaceBytes)
+
+ return false
+ }
+
w.Write([]byte(iface.Error()))
return true
case fmt.Stringer:
defer catchPanic(w, v)
+ if cs.ContinueOnMethod {
+ w.Write(append(openParenBytes, []byte(iface.String())...))
+ w.Write(closeParenBytes)
+ w.Write(spaceBytes)
+
+ return false
+ }
w.Write([]byte(iface.String()))
return true
}