Re: [Python] Gestire più errori con lo stesso blocc except.

2017-07-12 Per discussione Gianluca Esposito
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 
> 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


Re: [Python] Gestire più errori con lo stesso blocc except.

2017-07-12 Per discussione Massimiliano della Rovere
Il giorno mar 11 lug 2017 alle ore 15:12 Marco Beri 
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


Re: [Python] Gestire più errori con lo stesso blocc except.

2017-07-11 Per discussione Karim
2017-07-11 23:30 GMT+10:00 Marco Beri :

> 2017-07-11 15:21 GMT+02:00 Daniele Zambelli :
>
>>
>> Ovviamente sì! Sono stordito :-)
>

ommamma
​3​
()

​lol​


-- 
Karim N. Gorjux
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Gestire più errori con lo stesso blocc except.

2017-07-11 Per discussione Marco Beri
2017-07-11 15:21 GMT+02:00 Daniele Zambelli :

> Il 11 luglio 2017 15:11, Marco Beri  ha scritto:
>
> > [...]
> > Piuttosto è possibile fare questo:
> >
> > try:
> > qualcosa()
> > except KeyError as exc:
> > ommamma1()
> > except KeyError as exc:
> > ommamma2()
>
> Dove il secondo "KeyError" va inteso come un errore diverso ad esempio:
>
> "NameError"
>
> se ho capito bene.
>

Ovviamente sì! Sono stordito :-)

Grazie Daniele.

Ciao.
Marco.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Gestire più errori con lo stesso blocc except.

2017-07-11 Per discussione Daniele Zambelli
Il 11 luglio 2017 15:11, Marco Beri  ha scritto:

> [...]
> Piuttosto è possibile fare questo:
>
> try:
> qualcosa()
> except KeyError as exc:
> ommamma1()
> except KeyError as exc:
> ommamma2()

Dove il secondo "KeyError" va inteso come un errore diverso ad esempio:

"NameError"

se ho capito bene.

Ciao

-- 

Daniele

www.fugamatematica.blogspot.com

giusto!
nel verso
forse è perché non guardiamo le cose
Quando non ci capiamo,
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Gestire più errori con lo stesso blocc except.

2017-07-11 Per discussione Marco Beri
2017-07-11 14:24 GMT+02:00 Massimiliano della Rovere <
massimiliano.dellarov...@gmail.com>:

> try:
> qualcosa()
> except (KeyError, TypeError):
> ommamma()
>
> Le eccezioni nell'iterabile sono valutate da sx a dx, quindi classi di
> eccezioni derivate da altre presenti nello stesso iterabile devono stare il
> più a sinistra possibile.
>


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()

Ciao.
Marco.
P.S. Quoting! :-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Gestire più errori con lo stesso blocc except.

2017-07-11 Per discussione Massimiliano della Rovere
try:
qualcosa()
except (KeyError, TypeError):
ommamma()


Le eccezioni nell'iterabile sono valutate da sx a dx, quindi classi di
eccezioni derivate da altre presenti nello stesso iterabile devono stare il
più a sinistra possibile.

Il giorno mar 11 lug 2017 alle ore 14:05 Gabriele Battaglia <
iz4...@libero.it> ha scritto:

> Giorno.
> E' possibile prevedere la gestione di più di un errore, con lo stesso
> blocco Except?
> Gabriele.
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python