开发者社区 问答 正文

为什么 defer 中的 recover() 没有捕获到 ?

为什么 defer 中的 recover() 没有捕获到 "fatal error: concurrent map writes"?

展开
收起
花开富贵111 2024-06-19 17:10:56 72 分享 版权
1 条回答
写回答
取消 提交回答
  • "fatal error: concurrent map writes" 异常是通过 runtime.fatal() 方法抛出的,属于不可恢复的异常,因此即使在 defer 中使用了 recover(),也无法捕获并恢复该异常。这种异常表明 map 的内部结构已经被破坏,继续运行可能会产生不可预期的结果,因此程序会强制结束。

    2024-06-19 17:38:35
    赞同 2 展开评论
问答分类:
Go
问答地址: