该处理恐慌部分提到,
两个内置函数
panic和recover,可帮助报告和处理运行时紧急情况该
recover功能允许程序管理恐慌性goroutine的行为。假设一个函数
G推迟了D要调用 的函数
,recover并且panic在执行该函数的同一个goroutine上的函数中出现了aG。当延迟函数的运行达到时
D,D调用的返回值recover将是传递给紧急调用的值。
如果D正常返回而没有开始新的恐慌,则恐慌序列将停止。
这说明
recover应该在延迟函数中调用,而不是直接调用。
出现紧急情况时,“递延函数”不能是内置函数
recover(),而是在
defer语句中 指定的函数。
DeferStmt = "defer" expression .
表达式必须是函数或方法调用;不能用括号括起来。
内置函数的调用与 表达式语句
一样受到限制 。除特定的内置函数外 ,函数和方法调用以及接收操作可以出现在语句上下文中。



