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 b4ccbf8590d33e2f1a054c2bdc767cf4:沒有這樣的檔案或目錄
。我可以在此處新增自己的錯誤處理,但是是否有一種慣用的方法來處理 os
呼叫中的「檔案不存在」錯誤? os.isnotexist
檢查處理的錯誤似乎只是一種潛在的「檔案不存在」錯誤的特殊情況。
如果您閱讀文件,您會看到以下內容:
func isnotexist
func IsNotExist(err error) bool
isnotexist
傳回一個布林值,指示錯誤是否已知
報告文件或目錄不存在。滿足的是
errnotexist
以及一些 syscall
錯誤。
此函數早於錯誤。它僅支援 os 包返回的錯誤。
新程式碼應使用 errors.is(err, fs.errnotexist)
。 [強調。我的]
以上是如何處理 os.Stat 中的“沒有這樣的檔案或目錄”的詳細內容。更多資訊請關注PHP中文網其他相關文章!