Umgang mit „Keine solche Datei oder kein solches Verzeichnis' in os.Stat

PHPz
Freigeben: 2024-02-14 18:27:09
nach vorne
948 Leute haben es durchsucht

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

Der PHP-Editor Zimo bietet Ihnen eine Anleitung zum Umgang mit dem Problem „Keine solche Datei oder kein solches Verzeichnis“ in os.Stat. os.Stat ist eine Funktion zum Abrufen von Datei- oder Verzeichnisinformationen. Wenn wir jedoch versuchen, Informationen über eine nicht vorhandene Datei oder ein nicht vorhandenes Verzeichnis abzurufen, wird manchmal die Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis“ angezeigt. In diesem Artikel besprechen wir einige Möglichkeiten, mit diesem Problem umzugehen, damit Sie besser mit dieser Situation umgehen können. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Artikel bietet Ihnen nützliche Lösungen. Lass uns einen Blick darauf werfen!

Frageninhalt

Ich habe einen Code, der nach stat einer Datei sucht und einige Standardwerte zurückgibt, wenn die Datei nicht existiert. Das heißt, dieser Code sieht so aus:

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

Zum „Abfangen“ von „Datei existiert nicht“-Fehlern habe ich gelesen, dass die Verwendung von os.isnotexist 来检查错误是否表明文件不存在。但是,os.isnotexist 不会捕获此错误,因为平台返回 open <blah>:没有这样的文件或目录。我可以在此处添加自己的错误处理,但是是否有一种惯用的方法来处理 os 调用中的“文件不存在”错误? os.isnotexist empfohlen wird. Überprüfen Sie, ob der behandelte Fehler nur ein Sonderfall eines potenziellen „Datei existiert nicht“-Fehlers zu sein scheint.

Problemumgehung

Wenn Sie die Dokumentation lesen, werden Sie Folgendes sehen:

func isnotexist

func IsNotExist(err error) bool
Nach dem Login kopieren

isnotexist Gibt einen booleschen Wert zurück, der angibt, ob der Fehler bekannt ist Meldet, dass die Datei oder das Verzeichnis nicht existiert. zufrieden errnotexist 以及一些 syscall Fehler.

Diese Funktion war älter als der Fehler. Es unterstützt nur Fehler, die vom Betriebssystempaket zurückgegeben werden. Neue Codes sollten errors.is(err, fs.errnotexist) verwenden. [Hervorhebung hinzugefügt. Mein]

Das obige ist der detaillierte Inhalt vonUmgang mit „Keine solche Datei oder kein solches Verzeichnis' in os.Stat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage