Commit c0a0fd6c authored by Russ Cox's avatar Russ Cox

gob: split uses of gobError, remove unnecessary embedding

Will make gofix for error run more smoothly.
The overloading of gobError appears to be unintentional.

R=r
CC=golang-dev
https://golang.org/cl/5308060
parent c1178aae
...@@ -41,7 +41,7 @@ var encodeT = []EncodeT{ ...@@ -41,7 +41,7 @@ var encodeT = []EncodeT{
// plain test.Error call. // plain test.Error call.
func testError(t *testing.T) { func testError(t *testing.T) {
if e := recover(); e != nil { if e := recover(); e != nil {
t.Error(e.(gobError).Error) // Will re-panic if not one of our errors, such as a runtime error. t.Error(e.(gobError).err) // Will re-panic if not one of our errors, such as a runtime error.
} }
return return
} }
......
...@@ -64,7 +64,7 @@ func (dec *Decoder) recvType(id typeId) { ...@@ -64,7 +64,7 @@ func (dec *Decoder) recvType(id typeId) {
dec.wireType[id] = wire dec.wireType[id] = wire
} }
var errBadCount = gobError{os.NewError("invalid message length")} var errBadCount = os.NewError("invalid message length")
// recvMessage reads the next count-delimited item from the input. It is the converse // recvMessage reads the next count-delimited item from the input. It is the converse
// of Encoder.writeMessage. It returns false on EOF or other error reading the message. // of Encoder.writeMessage. It returns false on EOF or other error reading the message.
......
...@@ -18,7 +18,7 @@ import ( ...@@ -18,7 +18,7 @@ import (
// A gobError wraps an os.Error and is used to distinguish errors (panics) generated in this package. // A gobError wraps an os.Error and is used to distinguish errors (panics) generated in this package.
type gobError struct { type gobError struct {
os.Error err os.Error
} }
// errorf is like error but takes Printf-style arguments to construct an os.Error. // errorf is like error but takes Printf-style arguments to construct an os.Error.
...@@ -29,14 +29,14 @@ func errorf(format string, args ...interface{}) { ...@@ -29,14 +29,14 @@ func errorf(format string, args ...interface{}) {
// error wraps the argument error and uses it as the argument to panic. // error wraps the argument error and uses it as the argument to panic.
func error(err os.Error) { func error(err os.Error) {
panic(gobError{Error: err}) panic(gobError{err})
} }
// catchError is meant to be used as a deferred function to turn a panic(gobError) into a // catchError is meant to be used as a deferred function to turn a panic(gobError) into a
// plain os.Error. It overwrites the error return of the function that deferred its call. // plain os.Error. It overwrites the error return of the function that deferred its call.
func catchError(err *os.Error) { func catchError(err *os.Error) {
if e := recover(); e != nil { if e := recover(); e != nil {
*err = e.(gobError).Error // Will re-panic if not one of our errors, such as a runtime error. *err = e.(gobError).err // Will re-panic if not one of our errors, such as a runtime error.
} }
return return
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment