go - 仅当丢弃返回的错误时才发生 panic

标签 go error-handling

我相信我在某个时候在 Go 标准库中看到了一个函数,如果出现错误,它可以让您通过返回它来处理所述错误。但是,如果您选择忽略该错误,它会改为 panic 。因此,例如:

err := theFunction() // No panic

theFunction()        // Panic

_ := theFunction()   // Panic
今天想起这个功能,想了想怎么可能实现,但是什么也想不出来。也许与 defer 有关?
无论如何,在决定检查该函数的源代码以获取一些答案时,我意识到我不记得它的名称,也不记得它所在的包。因此,我来​​到这里希望学习:
  • 有没有这样的功能/这可能吗,还是我记错了?
  • 有哪些此类功能的示例?
  • 如何做到这一点?
  • 最佳答案

    通常,解决方案是有两个函数,一个 Thing() errorMustThing() ,其中 Must版本 panic 而不是返回错误。您可以在 template 的 stdlib 中看到这方面的示例。和 regexp 包。

    关于go - 仅当丢弃返回的错误时才发生 panic ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65566391/

    相关文章:

    html - Revel 模板多个变量,在其他范围内访问一个

    asp.net - 捕获特定OleDB错误的首选方法

    jquery - 如何将 getJSON 错误处理程序与导致该错误的查询关联

    http - Go httpClient 内存泄漏

    go - 如何在golang中为结构体创建对象

    mongodb - Revel+mgo golang - 如何定义结构类型来处理来自数据库的嵌套对象?

    error-handling - 将抛出的异常更改为失败的简洁方法?

    error-handling - Kubernetes有大量处于错误状态的Pod,似乎无法清除

    java - 如何防止文件加载时发生 Java 的 OutOfMemoryError?

    go - 使用反射附加到 slice