MST
星途 面试题库

面试题:Go中如何使用`defer`和`recover`进行错误处理

在Go语言中,`defer`和`recover`常常用于错误处理场景。请编写一段代码示例,展示如何使用`defer`和`recover`捕获并处理可能发生的运行时错误。例如,在一个函数中进行数组越界访问的模拟,并通过`defer`和`recover`来避免程序崩溃并输出合适的错误信息。
42.5万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
)

func main() {
    test()
}

func test() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("捕获到运行时错误:", r)
        }
    }()
    var arr [5]int
    // 模拟数组越界访问
    fmt.Println(arr[10])
}