Python Language
Zgłaszaj niestandardowe błędy / wyjątki
Szukaj…
Wprowadzenie
Python ma wiele wbudowanych wyjątków, które zmuszają twój program do wyświetlania błędu, gdy coś w nim pójdzie nie tak.
Czasami jednak może być konieczne utworzenie niestandardowych wyjątków, które spełniają Twoje zadanie.
W Pythonie użytkownicy mogą zdefiniować takie wyjątki, tworząc nową klasę. Ta klasa wyjątków musi pochodzić, bezpośrednio lub pośrednio, z klasy wyjątków. Większość wbudowanych wyjątków pochodzi również z tej klasy.
Wyjątek niestandardowy
Tutaj stworzyliśmy zdefiniowany przez użytkownika wyjątek o nazwie CustomError, który pochodzi z klasy Exception. Ten nowy wyjątek można zgłaszać, podobnie jak inne wyjątki, za pomocą instrukcji raise z opcjonalnym komunikatem o błędzie.
class CustomError(Exception):
pass
x = 1
if x == 1:
raise CustomError('This is custom error')
Wynik:
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
Złap niestandardowy wyjątek
Ten przykład pokazuje, jak złapać niestandardowy wyjątek
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))
Wynik:
Catched CustomError :Can you catch me ?