为了账号安全,请及时绑定邮箱和手机立即绑定

如何避免 Golang 服务器(Gin Gonic)在 INTERNAL_ERROR 上崩溃

如何避免 Golang 服务器(Gin Gonic)在 INTERNAL_ERROR 上崩溃

Go
温温酱 2022-06-01 16:55:16
首先:我是 Go 新手,我来自 Java 开发多年。我使用 Gin Gonic 开发了一个小的 REST API。我的一个端点偶尔(所以我不能按需复制)在 HTTP Get 到我不管理的外部 API 期间崩溃。显示的错误类似于:流错误:流 ID 4;内部错误代码崩溃的摘录:client := &http.Client{}req, err := http.NewRequest("GET", apiUrl, nil)if err != nil{    log.Fatal(err)    return result, err}resp, err := client.Do(req)if err != nil {    log.Fatal(err)    return result, err}defer resp.Body.Close()这会使我的服务器崩溃并停止它。我不明白发生了什么,我正在处理代码中的所有错误,因此与 java 相比,它看起来像是一个未捕获的异常,但我不知道如何捕获该错误并保持我的服务器运行(我不知道)不在乎避免错误本身,我只希望我的服务器继续运行)。
查看完整描述

2 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

gin-gonic您可以使用中间件来帮助您的应用程序从gin.Recover()恐慌中恢复。

gin.New()您可以通过或通过gin.Default()(它已经包括在内)使用实例化

handlers := gin.New()
handlers.Use(gin.Recovery())


查看完整回答
反对 回复 2022-06-01
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

log.Fatal 退出(愚弄我,感谢 Volker)



查看完整回答
反对 回复 2022-06-01
  • 2 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号