Il 25 aprile 2018 12:10, Gollum1 <gollum1.smeag...@gmail.com> ha scritto: >> if im.format == 'JPEG' or im.format == 'MPO': >> extension = ".jpg" >> else: >> raise Exception(FormatUnsupported, "il file %s è nel formato %s, >> attualmente non gestito" % (source, im.format)) >> > > no, questo non funziona, nel senso che crea una exception generica di > tipo "exception:", quindi tropo generico... > Mi sa che l'unica soluzione sia quello di creare la classe derivata...
ok... a qui può interessare: class Error(Exception): """Base class for exceptions in this module.""" pass class UnsupportedFormat(Error): """Exception raised for errors in the input. Attributes: expression -- input expression in which the error occurred message -- explanation of the error """ def __init__(self, message): self.message = message nella procedura dove prelevo i dati: if im.format == 'JPEG': # or im.format == 'MPO': extension = ".jpg" else: raise UnsupportedFormat("il file %s è nel formato %s, attualmente non gestito" % (source, im.format)) nella procedura che ha richiamato il prelievo dei dati: try: get_exif_data(args) except UnsupportedFormat as err: print(err) return e questo è l'output del programma quando incamera un file non conforme, senza bloccare il programma, saltando solamente il file: il file /home/mauro/Destinazione/SONY/DSCHX50V/5184x3888/20160527T143229_(002).mpo è nel formato MPO, attualmente non gestito che è quello che volevo ottenere... Non so invece come viene gestito l'errore di PIL, che segnala il messaggio, ma non alza una eccezione, e quindi non è gestibile. Byea -- Gollum1 - http://www.gollumone.it Tesssssoro, dov'é il mio tessssoro... _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python