Cattura tutte le eccezioni in Python
-
Usa la classe
Exception
per catturare tutte le eccezioni in Python -
Usa la classe
BaseException
per 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