add panic and recover
Merge github.com:golangcoder/golangnote