Ricerca…


introduzione

Python ha molte eccezioni built-in che costringono il tuo programma a generare un errore quando qualcosa in esso va storto.

Tuttavia, a volte potrebbe essere necessario creare eccezioni personalizzate che servono al tuo scopo.

In Python, gli utenti possono definire tali eccezioni creando una nuova classe. Questa classe di eccezioni deve essere derivata, direttamente o indirettamente, dalla classe Exception. La maggior parte delle eccezioni built-in derivano anche da questa classe.

Eccezione personalizzata

Qui, abbiamo creato un'eccezione definita dall'utente, CustomError, derivata dalla classe Exception. Questa nuova eccezione può essere sollevata, come altre eccezioni, usando l'istruzione raise con un messaggio di errore opzionale.

class CustomError(Exception):
       pass

x = 1

if x == 1:
    raise CustomError('This is custom error')

Produzione:

Traceback (most recent call last):
  File "error_custom.py", line 8, in <module>
    raise CustomError('This is custom error')
__main__.CustomError: This is custom error

Cattura eccezione personalizzata

Questo esempio mostra come catturare l'eccezione personalizzata

class CustomError(Exception):
     pass

try:
    raise CustomError('Can you catch me ?')
except CustomError as e:
    print ('Catched CustomError :{}'.format(e))
except Exception as e:
    print ('Generic exception: {}'.format(e))

Produzione:

Catched CustomError :Can you catch me ?


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow