On a Dial error conn will be nil. Remove the call to conn.Close() On Saturday, 10 December 2016 23:28:36 UTC, Stannis Kozlov wrote: > > I'm trying to write simple port scanner and using "net" to check port > availability: > func sock() { > conn, err := net.Dial("tcp", "192.168.0.1:9991") > if err != nil { > fmt.Printf("\n!!!:: %v", err) > conn.Close() > > Debug return error: > !!!:: dial tcp 192.168.0.1:9991: getsockopt: connection refusedpanic: > runtime error: invalid memory address or nil pointer dereference > [signal 0xb code=0x1 addr=0x20 pc=0x401186] > > goroutine 1 [running]: > panic(0x564e00, 0xc82000a140) > /usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6 > main.sock() > /home/m/go/ps.go:16 +0x186 > main.main() > /home/m/go/ps.go:70 +0x620 > exit status 2 > > > It looks like "refused" calls runtime error and app crash in panic. How > can I work with errors to keep my app working? >
-- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.