MST
星途 面试题库

面试题:Go中测试时如何捕获panic

在Go语言的测试函数中,假设你有一段可能会引发panic的代码,你如何捕获这个panic,并让测试能够继续进行且给出相应的错误提示?请给出具体的代码示例。
35.3万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
    "testing"
)

func TestPanic(t *testing.T) {
    defer func() {
        if r := recover(); r != nil {
            t.Errorf("捕获到 panic: %v", r)
        }
    }()

    // 模拟可能引发 panic 的代码
    panic("这是一个测试 panic")
}