Ich bemerkte eine andere Java-Ausnahme für die Angabe, dass die Datei nicht existiert - NoSuchFileException
. Ich hatte den Auftrag, eine bestimmte API umzuformen, die beide aus unterschiedlichen Methoden herausstreicht, und ich möchte nur eine verwenden.FileNotFoundException vs NoSuchFileException
Sollte ich NoSuchFileException
zu Datei auf FileNotFoundException
zuordnen? Sollte ich NoSuchFileException
anstelle von FileNotFoudnException
verwenden, weil es spezifischer ist?
EDIT: Aktualisiert die Frage. Ich lese die Dokumentation vor dem Posten dieser Frage und kenne den grundlegenden Unterschied. Ich habe auf zusätzliche Informationen und die Anleitung in diesem Fall gehofft, da die Ausnahmebehandlung nach Typ für die Kunden der Service-API wichtig ist und ich möchte den Fall vermeiden, wenn die Prüfung für beide Ausnahmetypen durchgeführt werden muss.
Haben Sie die Spezifikationen für sie gelesen? –
Die Java 7-Ausnahme NoSuchFileException wird nur verwendet, wenn die angeforderte Datei nicht existiert. die frühere Version FileNotFoundException wurde dafür verwendet und auch für Fälle, in denen die Datei existiert, aber aus irgendeinem Grund nicht zugegriffen werden kann. –
Einer ist für die Verwendung mit der Dateiklasse; der andere ist für die Verwendung mit der Path-Klasse. Ihre Pakete sollten das klar gemacht haben. Beachten Sie, dass Sie keine dieser Ausnahmen abfangen sollten. Sie sollten nach der Existenz/Lesbarkeit einer Datei suchen, bevor Sie versuchen, sie zu lesen. – VGR