go - 如何正确处理 runtime.Caller(0) 上的错误

标签 go runtime

我正在使用 runtime.Caller(0) 返回文件名:

_, file, _, ok := runtime.Caller(0)
if !ok {
    // What should I do here?
}

我想知道:

  • 为什么这个函数不提供错误?
  • 失败了怎么办? ( panic , fatal error ?)
  • 失败有什么错?我是否应该验证?

这是我使用 Go 的第一周,所以如果您已经很高级,我可能会觉得这些问题很愚蠢,对此我深表歉意。

提前致谢。

最佳答案

Why this function in specific doesn't provide an error?

这是基于意见的。

What should I do if it fails? (Panic, fatal error?)

满足您的需求。

What could be wrong to fail?

一切。例如。一个没有调试信息的二进制文件。

Should I validate at all?

当然可以。

关于go - 如何正确处理 runtime.Caller(0) 上的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52489464/

相关文章:

c++ - 由于从未运行的函数调用,程序花费的时间比应有的时间长很多

c# - 没有VC 10运行时C#应用程序将无法运行

os.stdin 上的 golang io.TeeReader 中断 tty

google-app-engine - Google App Engine Golang 没有这样的文件或目录

http - 去http.Get,并发, "Connection reset by peer"

time - 在 Go 中将 UTC 转换为 "local"时间

java - 等待进程完全启动

用于区分运行时类型和编译时类型的 Java 术语

c++ - 无法将 Boost.Any 对象传递给 C++ Lua 绑定(bind)

session - Golang 和 Gorilla session - 缓存阻止注销功能