首頁 > 後端開發 > Golang > 主體

如何處理 os.Stat 中的'沒有這樣的檔案或目錄”

PHPz
發布: 2024-02-14 18:27:09
轉載
942 人瀏覽過

如何处理 os.Stat 中的“没有这样的文件或目录”

php小編子墨為大家帶來了一個關於如何處理os.Stat中的「沒有這樣的檔案或目錄」問題的指南。 os.Stat是一個用來取得檔案或目錄資訊的函數,但有時當我們嘗試取得一個不存在的檔案或目錄的資訊時,會遇到「沒有這樣的檔案或目錄」的錯誤。在本文中,我們將介紹幾種處理這個問題的方法,以幫助您更好地處理這種情況。無論您是初學者還是有一定經驗的開發者,本文都將為您提供有用的解決方案。讓我們一起來看看吧!

問題內容

我有一段程式碼正在尋找 stat 一個文件,如果該文件不存在,則傳回一些預設值。也就是說,這段程式碼如下所示:

fileInfo, err := os.Stat(absolutePath)
if err != nil {
    if os.IsNotExist(err) {
        return <default val>, nil
    }
    return nil, fmt.Errorf(...)
}
登入後複製

要「捕獲」「檔案不存在」錯誤,我讀到建議使用 os.isnotexist 來檢查錯誤是否表示檔案不存在。但是,os.isnotexist 不會捕獲此錯誤,因為平台傳回 open <blah>:沒有這樣的檔案或目錄。我可以在此處新增自己的錯誤處理,但是是否有一種慣用的方法來處理 os 呼叫中的「檔案不存在」錯誤? os.isnotexist 檢查處理的錯誤似乎只是一種潛在的「檔案不存在」錯誤的特殊情況。

解決方法

如果您閱讀文件,您會看到以下內容:

func isnotexist

#
func IsNotExist(err error) bool
登入後複製

isnotexist 傳回一個布林值,指示錯誤是否已知 報告文件或目錄不存在。滿足的是 errnotexist 以及一些 syscall 錯誤。

此函數早於錯誤。它僅支援 os 包返回的錯誤。 新程式碼應使用 errors.is(err, fs.errnotexist)。 [強調。我的]

以上是如何處理 os.Stat 中的'沒有這樣的檔案或目錄”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!