We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
go version
go version go1.10.2 darwin/amd64
Yes.
go env
GOARCH="amd64" GOBIN="" GOCACHE="/Users/kristoffer/Library/Caches/go-build" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/kristoffer/Go/" GORACE="" GOROOT="/usr/local/Cellar/go/1.10.2/libexec" GOTMPDIR="" GOTOOLDIR="/usr/local/Cellar/go/1.10.2/libexec/pkg/tool/darwin_amd64" GCCGO="gccgo" CC="clang" CXX="clang++" CGO_ENABLED="1" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/dd/n8x7kkd92wg3ksv044l6wjh40000gn/T/go-build284967747=/tmp/go-build -gno-record-gcc-switches -fno-common"
package main import ( "fmt" "os" ) type CustomError struct { Err string } func (ce CustomError) Error() string { return ce.Err } func SomeFunc() (string, *CustomError) { return "hello", nil } func main() { // Do something that creates a variable err of type error _, err := os.Open("/") if err != nil { panic(err) } // Then replace the err type with *CustomError val, err := SomeFunc() if err != nil { panic(err) } fmt.Println("No problem", val) }
No problem hello
fatal error: panic while printing panic value
goroutine 1 [running]: runtime.throw(0x10c2e93, 0x20) /usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:616 +0x81 fp=0xc42005bbb0 sp=0xc42005bb90 pc=0x1026051 runtime.preprintpanics.func1() /usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:395 +0x58 fp=0xc42005bbd8 sp=0xc42005bbb0 pc=0x104a318 runtime.call32(0x0, 0x10c59b8, 0x0, 0x0) /usr/local/Cellar/go/1.10.2/libexec/src/runtime/asm_amd64.s:573 +0x3b fp=0xc42005bc08 sp=0xc42005bbd8 pc=0x104b8bb panic(0x10a58c0, 0xc42008c1c0) /usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:502 +0x229 fp=0xc42005bca8 sp=0xc42005bc08 pc=0x1025a19 runtime.panicwrap() /usr/local/Cellar/go/1.10.2/libexec/src/runtime/error.go:154 +0x2aa fp=0xc42005bdf0 sp=0xc42005bca8 pc=0x10059aa main.(*CustomError).Error(0x0, 0x10a4420, 0x0) :1 +0x47 fp=0xc42005be00 sp=0xc42005bdf0 pc=0x108da47 runtime.preprintpanics(0xc42005bee0) /usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:401 +0xb1 fp=0xc42005be78 sp=0xc42005be00 pc=0x10255b1 panic(0x10a4420, 0x0) /usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:543 +0x38d fp=0xc42005bf18 sp=0xc42005be78 pc=0x1025b7d main.main() /Users/kristoffer/Go/src/git.noisolation.com/ev2/bluetoothtest/go/cmd/test4/main.go:30 +0x116 fp=0xc42005bf88 sp=0xc42005bf18 pc=0x108d976
The text was updated successfully, but these errors were encountered:
The error type can contain a value which is nil, without being nil itself. Overshadowing doesn't work in the local scope so it was instead assigned.
Closing the issue.
Reference: https://golang.org/doc/faq#nil_error
Sorry, something went wrong.
No branches or pull requests
What version of Go are you using (
go version
)?go version go1.10.2 darwin/amd64
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (
go env
)?GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/kristoffer/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/kristoffer/Go/"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.10.2/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.10.2/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/dd/n8x7kkd92wg3ksv044l6wjh40000gn/T/go-build284967747=/tmp/go-build -gno-record-gcc-switches -fno-common"
What did you do?
What did you expect to see?
No problem hello
What did you see instead?
fatal error: panic while printing panic value
goroutine 1 [running]:
runtime.throw(0x10c2e93, 0x20)
/usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:616 +0x81 fp=0xc42005bbb0 sp=0xc42005bb90 pc=0x1026051
runtime.preprintpanics.func1()
/usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:395 +0x58 fp=0xc42005bbd8 sp=0xc42005bbb0 pc=0x104a318
runtime.call32(0x0, 0x10c59b8, 0x0, 0x0)
/usr/local/Cellar/go/1.10.2/libexec/src/runtime/asm_amd64.s:573 +0x3b fp=0xc42005bc08 sp=0xc42005bbd8 pc=0x104b8bb
panic(0x10a58c0, 0xc42008c1c0)
/usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:502 +0x229 fp=0xc42005bca8 sp=0xc42005bc08 pc=0x1025a19
runtime.panicwrap()
/usr/local/Cellar/go/1.10.2/libexec/src/runtime/error.go:154 +0x2aa fp=0xc42005bdf0 sp=0xc42005bca8 pc=0x10059aa
main.(*CustomError).Error(0x0, 0x10a4420, 0x0)
:1 +0x47 fp=0xc42005be00 sp=0xc42005bdf0 pc=0x108da47
runtime.preprintpanics(0xc42005bee0)
/usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:401 +0xb1 fp=0xc42005be78 sp=0xc42005be00 pc=0x10255b1
panic(0x10a4420, 0x0)
/usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:543 +0x38d fp=0xc42005bf18 sp=0xc42005be78 pc=0x1025b7d
main.main()
/Users/kristoffer/Go/src/git.noisolation.com/ev2/bluetoothtest/go/cmd/test4/main.go:30 +0x116 fp=0xc42005bf88 sp=0xc42005bf18 pc=0x108d976
The text was updated successfully, but these errors were encountered: