go - 处理 panic 和延迟函数

标签 go

首先我喜欢 GO :D 我有一些关于 panic/recover 的问题。 panic 只能在延迟函数中恢复吗?发生死锁时是否调用延迟函数?我已经测试过了,但没有...您能解释一下为什么吗?

最佳答案

Panic can be recovered only in deferred funcs?

是的,仅在延迟函数中。

Is deferred func called when deadlock happens? I have tested it and no... Can you please explain why not?

这是 Go 运行时的作者做出的实现选择。假设从死锁中恢复几乎是不可能的。

关于go - 处理 panic 和延迟函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805322/

相关文章:

loops - 离开循环后指针变为 nil

go - 隐式转换在应该成功的时候失败了?

linux - 在 Go 中只接受来自 Localhost 的 HTTP 连接?

go - Circleci 和 GoBuffalo 挑战

logging - 如何从不同的包中分离日志

Gob 解码给出 "DecodeValue of unassignable value"错误

go - 从标志中你如何返回一个(int)而不是一个(*int)?

go - 错误 : Unrecognized Go version

linux - 如何以编程方式获取 syscall.Mount() 的文件系统类型

javascript - 使用来自 golang 的数据将元素添加到 html 页面