Editor PHP Zimo membawakan anda panduan tentang cara menangani masalah "tiada fail atau direktori sedemikian" dalam os.Stat. os.Stat ialah fungsi yang digunakan untuk mendapatkan maklumat fail atau direktori, tetapi kadangkala apabila kami cuba mendapatkan maklumat tentang fail atau direktori yang tidak wujud, kami akan menghadapi ralat "Tiada fail atau direktori sedemikian". Dalam artikel ini, kami akan membincangkan beberapa cara untuk menangani masalah ini untuk membantu anda mengendalikan situasi ini dengan lebih baik. Sama ada anda seorang pemula atau pembangun berpengalaman, artikel ini akan memberikan anda penyelesaian yang berguna. Mari lihat!
Saya mempunyai sekeping kod yang sedang mencari stat
fail dan jika fail itu tidak wujud, mengembalikan beberapa nilai lalai. Iaitu, kod ini kelihatan seperti ini:
fileInfo, err := os.Stat(absolutePath) if err != nil { if os.IsNotExist(err) { return <default val>, nil } return nil, fmt.Errorf(...) }
Untuk "menangkap" ralat "fail tidak wujud", saya membaca bahawa ia disyorkan untuk digunakan os.isnotexist
来检查错误是否表明文件不存在。但是,os.isnotexist
不会捕获此错误,因为平台返回 open <blah>:没有这样的文件或目录
。我可以在此处添加自己的错误处理,但是是否有一种惯用的方法来处理 os
调用中的“文件不存在”错误? os.isnotexist
Semak bahawa ralat yang dikendalikan itu nampaknya hanya kes khas ralat "fail tidak wujud" yang berpotensi.
Jika anda membaca dokumentasi anda akan melihat perkara berikut:
func isnotexist
func IsNotExist(err error) bool
isnotexist
Mengembalikan nilai boolean yang menunjukkan sama ada ralat diketahui
Melaporkan bahawa fail atau direktori tidak wujud. puas hati
errnotexist
以及一些 syscall
Ralat.
Fungsi ini mendahului ralat. Ia hanya menyokong ralat yang dikembalikan oleh pakej os.
Kod baharu harus menggunakan errors.is(err, fs.errnotexist)
. [penekanan ditambah. Saya]
Atas ialah kandungan terperinci Bagaimana untuk menangani 'Tiada fail atau direktori sedemikian' dalam os.Stat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!