Maison >développement back-end >Golang >Comment gérer 'Aucun fichier ou répertoire de ce type' dans os.Stat

Comment gérer 'Aucun fichier ou répertoire de ce type' dans os.Stat

PHPz
PHPzavant
2024-02-14 18:27:091010parcourir

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

L'éditeur PHP Zimo vous propose un guide sur la façon de résoudre le problème "Aucun fichier ou répertoire de ce type" dans os.Stat. os.Stat est une fonction utilisée pour obtenir des informations sur un fichier ou un répertoire, mais parfois, lorsque nous essayons d'obtenir des informations sur un fichier ou un répertoire inexistant, nous rencontrerons l'erreur "Aucun fichier ou répertoire de ce type". Dans cet article, nous aborderons quelques façons de résoudre ce problème pour vous aider à mieux gérer cette situation. Que vous soyez débutant ou développeur expérimenté, cet article vous apportera des solutions utiles. Nous allons jeter un coup d'oeil!

Contenu de la question

J'ai un morceau de code qui recherche stat un fichier et si le fichier n'existe pas, renvoie des valeurs par défaut. Autrement dit, ce code ressemble à ceci :

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

Pour "attraper" les erreurs "le fichier n'existe pas", j'ai lu qu'il est recommandé d'utiliser os.isnotexist 来检查错误是否表明文件不存在。但是,os.isnotexist 不会捕获此错误,因为平台返回 open b4ccbf8590d33e2f1a054c2bdc767cf4:没有这样的文件或目录。我可以在此处添加自己的错误处理,但是是否有一种惯用的方法来处理 os 调用中的“文件不存在”错误? os.isnotexist Vérifier que l'erreur gérée semble être juste un cas particulier d'erreur potentielle "le fichier n'existe pas".

Solution

Si vous lisez la documentation, vous verrez ce qui suit :

func isnotexist

func IsNotExist(err error) bool

isnotexist Renvoie une valeur booléenne indiquant si l'erreur est connue Signale que le fichier ou le répertoire n'existe pas. content errnotexist 以及一些 syscall Erreur.

Cette fonction est antérieure à l'erreur. Il ne prend en charge que les erreurs renvoyées par le package os. Les nouveaux codes doivent utiliser errors.is(err, fs.errnotexist). [c'est nous qui soulignons. Mon]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Liens vers les ressourcesArticle suivant:Liens vers les ressources