Cattura tutte le eccezioni in Python
-
Usa la classe
Exceptionper catturare tutte le eccezioni in Python -
Usa la classe
BaseExceptionper catturare tutte le eccezioni in Python
Usiamo il blocco try e except per gestire le eccezioni. Il blocco try contiene del codice che può sollevare un’eccezione. Se viene sollevata un’eccezione, allora possiamo specificare il codice alternativo nel blocco except che può essere eseguito. Sappiamo di avere diversi tipi di eccezioni in Python per avere più istruzioni except per diverse eccezioni.
Per esempio,
try:
raise ValueError()
except ValueError:
print("Value Error")
except KeyError:
print("Key Error")
Produzione:
Value Error
Tuttavia, a volte, potremmo desiderare un blocco generale except che possa catturare tutte le eccezioni. È molto semplice implementarlo. Se non menzioniamo alcuna eccezione specifica nel blocco except, allora cattura qualsiasi eccezione che potrebbe verificarsi.
Il codice seguente implementa questo.
try:
# Your
# Code
pass
except:
print("Exception Encountered")
Tuttavia, non è consigliabile utilizzare questo metodo perché rileva anche eccezioni come KeyBoardInterrupt e SystemExit, che di solito si desidera ignorare.
Usa la classe Exception per catturare tutte le eccezioni in Python
Possiamo evitare gli errori menzionati sopra semplicemente catturando la classe Exception. Tutte le eccezioni incorporate e non di sistema, così come le eccezioni definite dall’utente, sono generalmente derivate da questa classe.
Per esempio,
try:
# Your
# Code
pass
except Exception as e:
print("Exception Encountered")
Usa la classe BaseException per catturare tutte le eccezioni in Python
Va notato che anche il metodo sopra può omettere alcune eccezioni. Possiamo anche usare la classe BaseException, che è in cima alla gerarchia. Potrebbe essere richiesto in alcuni casi e possiamo vederne l’uso nel codice seguente.
try:
# Your
# Code
pass
except BaseException as e:
print("Exception Encountered")
In questo tutorial, abbiamo discusso alcuni metodi, che potrebbero non essere perfetti ma possono catturare la maggior parte delle eccezioni sollevate. In generale, non è consigliabile rilevare tutte le eccezioni, quindi fai attenzione a qualsiasi metodo tu scelga di utilizzare.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn