个人存档-笔试编程题-处理panic并打印信息

在本题中,有一个proc函数,它会调用panic(“OK”)来触发panic,我们希望你实现一个名为solution的函数
它接受一个seconds参数,表示秒数。在solution中,每秒调用一次proc函数,持续seconds秒。
在调用proc函数的同时,需要捕获由proc函数触发的panic,打印出panic的信息。
在seconds秒后,solution函数应正常结束

实现方法:

package main

import (
    "fmt"
    "time"
)

func proc() {
    panic("OK")
}

func solution(seconds int) {
    for i := 0; i < seconds; i++ {
        func() {
            defer func() {
                if r := recover(); r != nil {
                    fmt.Println("Panic:", r)
                }
            }()
            proc()
        }()
        time.Sleep(time.Second)
    }
}

你可能感兴趣的:(go笔试题)