Il giorno mar 11 lug 2017 alle ore 15:12 Marco Beri <marcob...@gmail.com> ha scritto:
> > Ma a che pro avere nell'iterabile due classi di eccezioni, una che dipende > dall'altra? Alla fine non ti basta quella più generica? Cosa mi sfugge? > > > Piuttosto è possibile fare questo: > > try: > qualcosa() > except KeyError as exc: > ommamma1() > except KeyError as exc: > ommamma2() > > > Supponi di avere una libreria che su un metodo può sollevare differenti eccezioni diverse e per entrambe devi effettuare la stessa azione. Invece di sciorinare più blocchi "except:" con lo stesso codice, le accorpi. Relativamente all'usare quella più generica, potrebbe essere troppo generica e ti fa gestire eccezioni che non vorresti prendere. Esempio: se devi trappare IndexError e KeyError, ok puoi usare LookupError; ma se vuoi IndexError e TypeError, il parente più prossimo ad entrambe è "Exception" generica, ma non vuoi usarla altrimenti l'except "assorbe" tutte le eccezioni.
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python