MST

星途 面试题库

面试题:Go语言中如何构建简单的错误链

在Go语言里,假设你有一个函数`func readFileContent(filePath string) (string, error)`,该函数用于读取文件内容并返回。如果文件不存在,返回的错误需要构建一个错误链,指向系统底层文件不存在的错误,请问该如何实现?
12.5万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
    "os"
)

func readFileContent(filePath string) (string, error) {
    data, err := os.ReadFile(filePath)
    if err != nil {
        if os.IsNotExist(err) {
            // 构建错误链
            return "", fmt.Errorf("file does not exist: %w", err)
        }
        return "", err
    }
    return string(data), nil
}