如果 go 程式用 回傳錯誤Write(),它將回傳如下內容:
write failed(*fs.PathError): write mnt/test.dat: no space left on device
除了“設備上沒有剩余空間”的字串匹配之外,還有其他方法可以知道 PathError 是由于磁盤空間不足造成的嗎?
注意:我使用的是 Linux,并不關心它在 Windows 上的作業方式。
uj5u.com熱心網友回復:
是的,它可能對您編譯的作業系統敏感,但您可以檢查錯誤是否包含syscall.ENOSPC.
_, err := file.Write(stuff)
if err != nil {
if errors.Is(err, syscall.ENOSPC) {
// There was no space left on the device
return "get more space"
}
// something else is wrong
}
uj5u.com熱心網友回復:
除了“設備上沒有剩余空間”的字串匹配之外,還有其他方法可以知道 PathError 是由于磁盤空間不足造成的嗎?
不。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/358287.html
