首頁 >後端開發 >Golang >在 Go 中處理 HTTP 回應時如何防止「恐慌:運行時錯誤:無效的記憶體位址或 nil 指標取消引用」?

在 Go 中處理 HTTP 回應時如何防止「恐慌:運行時錯誤:無效的記憶體位址或 nil 指標取消引用」?

DDD
DDD原創
2024-12-28 12:21:15371瀏覽

How to Prevent

Go:處理 HTTP 回應錯誤

在 Go 中執行 HTTP 要求時,處理 (*Client) 傳回的錯誤至關重要。做方法。這可確保正確檢測和處理錯誤。

在提供的程式碼中,您遇到錯誤:「恐慌:執行階段錯誤:無效的記憶體位址或零指標取消引用。」這表示在檢查錯誤之前已造訪了 res.Body。

要解決此問題,立即檢查 client.Do 傳回的錯誤至關重要。這是修改後的程式碼:

res, err := client.Do(req)
if err != nil {
    return nil, err
}
defer res.Body.Close()

透過立即檢查錯誤,您可以優雅地處理它們並防止恐慌。在這種情況下,錯誤是由於在檢查錯誤之前訪問 res.Body 引起的。因此,程序將在不提供任何有用資訊的情況下提前終止。

透過遵循這些準則,您可以確保正確處理 HTTP 要求,並正確偵測和管理錯誤。

以上是在 Go 中處理 HTTP 回應時如何防止「恐慌:運行時錯誤:無效的記憶體位址或 nil 指標取消引用」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn