运行下面的代码,会发现recover
没有捕获到异常,原因是defer
执行的函数在panic之后才被调用,也就是说defer
根本就没有运行,因为myLog.Panic
已经终止了函数调用
package main
import(
"fmt"
"bytes"
"log"
)
func main(){
var buff bytes.Buffer
// 自定义一个日志对象
// 默认的日志写入到buff中
myLog := log
运行下面的代码,会发现recover
没有捕获到异常,原因是defer
执行的函数在panic之后才被调用,也就是说defer
根本就没有运行,因为myLog.Panic
已经终止了函数调用
package main
import(
"fmt"
"bytes"
"log"
)
func main(){
var buff bytes.Buffer
// 自定义一个日志对象
// 默认的日志写入到buff中
myLog := log