EDIT:
Ich sehe Exceptions als Fehler an, nicht als Feature zur Businesslogik.
Ich denke, sooo schlimm ist das nicht. Wenn ich mich richtig erinnere ist für Windows eine Datei im Zugriff vorhanden, oder aber nicht, und es gibt einiges was den Zugriff verhindern kann. Ein Fileexists prüft ja nur, ob es einen Eintrag im Dateisystem für einen Dateinamen gibt. Wenn Du also weißt was Du tust, ist Fileexists brauchbar ansonsten bist Du mit der Methode "die Datei ist zu öffnen oder nicht" auf der sicheren Seite.
Gruß
K-H