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
Libérer: 2024-02-14 18:27:09
avant
1000 Les gens l'ont consulté

如何处理 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(...)
}
Copier après la connexion

Pour "attraper" les erreurs "le fichier n'existe pas", j'ai lu qu'il est recommandé d'utiliser os.isnotexist 来检查错误是否表明文件不存在。但是,os.isnotexist 不会捕获此错误,因为平台返回 open <blah>:没有这样的文件或目录。我可以在此处添加自己的错误处理,但是是否有一种惯用的方法来处理 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
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal