1
0
mirror of https://github.com/golang/go synced 2024-11-25 06:07:58 -07:00

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
This commit is contained in:
Russ Cox 2011-10-27 20:20:59 -07:00
parent c1178aae86
commit c0a0fd6cf4
3 changed files with 5 additions and 5 deletions

View File

@ -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
} }

View File

@ -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.

View File

@ -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{}) {
// 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
} }