MST

星途 面试题库

面试题:Go 语言中 defer 在错误日志记录方面的基本应用

请描述在 Go 语言中如何使用 defer 来确保在函数结束时记录错误日志,即使函数提前返回。假设你有一个函数 `func readFileContent(filePath string) (string, error)`,该函数读取文件内容并返回,如果发生错误,你需要使用 defer 记录错误日志。请写出相应的代码实现。
20.2万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
    "log"
    "os"
)

func readFileContent(filePath string) (string, error) {
    var content string
    defer func() {
        if err := recover(); err != nil {
            log.Printf("An error occurred: %v", err)
        }
    }()
    data, err := os.ReadFile(filePath)
    if err != nil {
        panic(err)
    }
    content = string(data)
    return content, nil
}