这就是资源管理与错误处理考虑的一个原因
一. defer
1. defer保证在函数结束时发生.
2. defer列表为先进后出
3. 参数在defer语句时计算....这里有两个资源使用. 1. 创建文件, 然后文件关闭. 2. 写入资源, 将资源从缓存中刷入文件....= nil {
panic("err")
}
}
这样, 当我们再次输入错误的文件路径时, 提示信息如下:
四. panic
发生panic的时候, 会做那些事呢?
1....停止当前函数的执行
2. 一直向上返回, 执行每一层的defer
3. 如果没有遇到recover, 程序就退出
五. recover
1. 在defer 中调用
2. 获取panic的值
3....我们有一个想法, 模拟web请求, 在浏览器url上输入一个文件路径, 打印文件的内容
2. 内容可能有错误, 进行异常处理.
3.