# 18.6 函数 如何使用内建函数recover停止panic过程(参考13.3小节): ```go func protect(g func()) { defer func() { log.Println("done") // Println executes normally even if there is a panic if x := recover(); x != nil { log.Printf("run time panic: %v", x) } }() log.Println("start") g() } ``` ## 链接 - [目录](directory.md) - 上一章:[运算符模板和接口](17.4.md) - 下一节:[字符串](18.1.md)