MST

星途 面试题库

面试题:Go语言中方法错误处理机制基础

在Go语言中,简述使用`error`接口进行错误处理的基本方式,并举例说明如何在一个函数中返回错误以及调用者如何捕获并处理这个错误。
43.8万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试

在Go语言中,error接口是一个内建接口,其定义为:

type error interface {
    Error() string
}

基本的错误处理方式是在函数返回值中返回error类型的值,调用者检查该值是否为nil,如果不为nil则表示发生了错误。

函数中返回错误

下面是一个简单的示例,该函数用于计算两个整数的除法,当除数为0时返回错误:

package main

import (
    "fmt"
)

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("division by zero")
    }
    return a / b, nil
}

调用者捕获并处理错误

func main() {
    result, err := divide(10, 2)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    fmt.Println("Result:", result)
}

在上述main函数中,调用divide函数并检查返回的err值。如果err不为nil,则打印错误信息并提前返回;否则打印计算结果。