python istisna mesajı yakalama
import ftplib
import urllib2
import os
import logging
logger = logging.getLogger('ftpuploader')
hdlr = logging.FileHandler('ftplog.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)
FTPADDR = "some ftp address"
def upload_to_ftp(con, filepath):
try:
f = open(filepath,'rb') # file to send
con.storbinary('STOR '+ filepath, f) # Send the file
f.close() # Close file and FTP
logger.info('File successfully uploaded to '+ FTPADDR)
except, e:
logger.error('Failed to upload to ftp: '+ str(e))
Bu işe yaramıyor gibi görünüyor, sözdizimi hatası alıyorum, her türlü istisnayı bir dosyaya kaydetmek için bunu yapmanın doğru yolu nedir
433
3
Hangi tür istisnayı yakalamak istediğinizi tanımlamanız gerekir. Bu nedenle, genel bir istisna için (zaten günlüğe kaydedilecek)
except, e:
yerineexcept Exception, e:
yazın.Diğer bir olasılık ise tüm try/except kodunuzu bu şekilde yazmaktır:
Python 3.x ve Python 2.x'in modern sürümlerinde
except Exception, e
yerineexcept Exception as e
kullanılır:Bu sözdizimi artık python 3'te desteklenmemektedir. Bunun yerine aşağıdakileri kullanın.
BaseException türünü açıkça belirtmeyi deneyebilirsiniz. Ancak, bu yalnızca BaseException türevlerini yakalayacaktır. Bu, uygulama tarafından sağlanan tüm istisnaları içerirken, rastgele eski tarz sınıfları yükseltmek de mümkündür.