Il giorno 12 luglio 2017 09:45, Massimiliano della Rovere < massimiliano.dellarov...@gmail.com> ha scritto:
> > > 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. > > Penso che la domanda fosse diversa, cioè gestire Eccezioni genitore e figli nello stesso blocco. Se hai Error1 ed Error2 con Error1 genitore di Error2 e già gestisci nell'iterable Error1, non serve aggiungerci anche Error2. saluti, Gianluca
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python