İyi olmayan bir üçüncü taraf kitaplığı kullanıyorum ancak uygun olmayan dosyaları istediğim gibi kullanmıyorum. bunu bir var olmayan bir dosya vererek yerine eski güzelFileNotFoundError'ı nasıl düzgün bir şekilde yükseltirim?
FileNotFoundError: [Errno 2] No such file or directory: 'nothing.txt'
yükseltirken bazı karanlık mesaj yükseltir: eksik dosyayı işlemek istemiyorum
OSError: Syntax error in file None (line 1)
, istemiyoruz istisnayı yakalamak veya işlemek için, özel bir istisnayı yükseltmek istemiyorum, ne de open
dosyasını istiyorum, yoksa mevcut değilse oluştur.
Sadece bunu kontrol etmek istiyorum (os.path.isfile(filename)
hile yapar) ve değilse, sadece uygun bir FileNotFoundError'ı kaldırın.
Traceback (most recent call last):
File "./test_script.py", line 6, in <module>
raise FileNotFoundError
FileNotFoundError
Buna "dosya Yok sözdizimi hatası" daha iyidir, ama nasıl yükseltmek mümkün "gerçek" dir:
#!/usr/bin/env python3
import os
if not os.path.isfile("nothing.txt"):
raise FileNotFoundError
Ne tek çıkışları:
Bu çalıştı Python istisnası, yeniden iletime gerek kalmadan uygun mesajla mı? argümanlar içinde
Mükemmel! Bunu yazmanın doğru yolunu bulmak için çok uğraştım. – zezollo
@zezollo: Cevabı güncelledim; 'Os.strerror()' ı şimdi buldum (* bir hata mesajı numarasından bir yere bir haritalama olduğunu biliyordum). –