[Gelistirici] r21707 - trunk/python-modules/pardus-python/pardus
Gürer Özen
gurer at pardus.org.tr
5 Mar 2009 Per 09:27:12 EET
On Thursday 05 March 2009 01:57:01 Fatih Aşıcı wrote:
> > + try:
> > + self.cp.read(db_file)
> > + except:
> > + print "Network configuration file %s is corrupt" % db_file
> > self.__unlock()
>
> Şu an sadece Net.Link betikleri mi iniutils kullanıyor bilmiyorum; ama bu
> çözüm ve hatta bu hata mesajı bu modülü kullanmak isteyecek başka
> uygulamalara uygun olmayabilir.
Bu tür boş except doğru bir yöntem değil. Mesela read yerine red yazsan gene
db corrupt diye hata alacaksın. read fonksiyonu IOError veriyordu sanırım,
dökümanında yazıyordur, özel olarak onu yakalaman lazım.
Bir de kitaplık içinde print kullanmak da güzel bir şey değil. Burada doğru
çözüm bir exception tanımlamak, hata durumunda (mesela burada read IOError
atabilir), kendi exception'ımızı bu hata mesajıyla raise etmek, üst seviye
kodun da bunu yakalayıp devam edip etmeyeceğine, yada hatayı nasıl
kullanıcıya sunacağına kendi karar vermesi.
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi