summaryrefslogtreecommitdiffstats
path: root/libgo/go/encoding/gob/error.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/encoding/gob/error.go')
-rw-r--r--libgo/go/encoding/gob/error.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/libgo/go/encoding/gob/error.go b/libgo/go/encoding/gob/error.go
index fbae8b683da..92cc0c615e3 100644
--- a/libgo/go/encoding/gob/error.go
+++ b/libgo/go/encoding/gob/error.go
@@ -33,7 +33,11 @@ func error_(err error) {
// plain error. It overwrites the error return of the function that deferred its call.
func catchError(err *error) {
if e := recover(); e != nil {
- *err = e.(gobError).err // Will re-panic if not one of our errors, such as a runtime error.
+ ge, ok := e.(gobError)
+ if !ok {
+ panic(e)
+ }
+ *err = ge.err
}
return
}
OpenPOWER on IntegriCloud