关于go:个人存档笔试编程题处理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)
    }
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理