diff options
Diffstat (limited to 'libgo/go/encoding/gob/error.go')
-rw-r--r-- | libgo/go/encoding/gob/error.go | 6 |
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 } |