当前位置: 首页 > 面试题库 >

用错误代码退出吗?

阎啸
2023-03-14
问题内容

用一些错误代码退出程序的惯用方式是什么?

的文档Exit说:“程序立即终止;延迟的函数不运行。”,log.Fatal仅调用Exit。对于不是严重错误的事情,终止程序而不运行延迟函数似乎是极端的。

我是否应该绕过一些表明存在错误的状态,然后Exit(1)在某个我知道可以安全退出并已运行所有延迟函数的位置进行调用?


问题答案:

我在大多数实际main软件包中都遵循了这些原则,以便return err尽快采用该约定并适当终止该约定:

func main() {
    if err := run(); err != nil {
        fmt.Fprintf(os.Stderr, "error: %v\n", err)
        os.Exit(1)
    }
}

func run() error {
    err := something()
    if err != nil {
        return err
    }
    // etc
}


 类似资料:
  • 我试图在vscode中调试一个flutter的演示应用程序,错误显示为ADB退出,代码1执行流式安装。我卸载现有的Flutter演示应用程序。

  • 我正在使用鲍尔安装几个库。出于演示目的,我正在安装引导程序。无论包,我收到以下错误: 我已尝试使用以下解决方案删除第一个错误-我在此搜索中发现: 但是,这不起作用,该页面上的任何其他解决方案也不起作用。在搜索第二个错误的解决方案时,如果您位于公司网络/防火墙后面,则为代理服务器设置用户名/pwd似乎可以解决此问题。但是,我没有使用代理服务器,因为我使用的是家用电脑/网络(windows 7 x64

  • 尝试在Windows 10上使用CMake和MSBuild构建TensorFlow时,运行MSBuild时出现以下错误: 所以我只收到一条错误消息,这只是告诉我cmd.exe已关闭,错误代码表明存在问题,但不是问题所在。那么,我该如何找出导致此问题的原因,以便解决它?

  • 我遵循了本教程: 1.节点安装-node-v8.9.0-x86 2. ran命令 谢谢你,

  • 我正在使用nuget包和在我的应用程序中接收推送通知,以前它工作正常,但是当我时,它停止工作 我尝试了所有这些: 更新所有nuget包 从所有共享项目中删除obj bin文件夹 启用multidex 安装并包含 <代码> > 这是一个很好的例子https://techhelpnotes.com/c-working-through-package-reference-errors-with-fire

  • 上面的代码在TypeScript Play中可以找到,但我在从Visual Studio 2012编译它时收到了构建错误< code >错误“以代码1退出” 有人尝试在TypeScript中获取、设置并成功构建吗?