MST
星途 面试题库

面试题:Go语言中defer、panic与recover组合使用基础

请编写一段Go代码,在函数中使用defer、panic和recover,实现当函数遇到某个错误条件时,通过panic抛出错误,然后在defer中使用recover捕获并处理该错误,打印出错误信息。
24.0万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
)

func test() {
    defer func() {
        if err := recover(); err != nil {
            fmt.Println("捕获到错误:", err)
        }
    }()
    // 模拟错误条件
    someErrorCondition := true
    if someErrorCondition {
        panic("发生错误")
    }
}

你可以这样调用这个函数:

func main() {
    test()
    fmt.Println("程序继续执行")
}