Dostosowywanie śladów stosu
Lekcja 16 z 16 w kursie Obsługa wyjątków w Pythonie w Coddy.
Po uruchomieniu poniższego programu w oknie wyjściowym zobaczysz szczegóły śladu stosu, wyjątek i standardowy komunikat o wyjątku.
print(100 + "hello")Powyższy program wygeneruje następujący wynik:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
print(100+'hello')
TypeError: unsupported operand type(s) for +: 'int' and 'str'Pierwsze 3 wiersze zawierają szczegóły śladu stosu, takie jak numer wiersza, nazwa pliku, instrukcja itp.
Ostatni wiersz to wyjątek: standardowy komunikat o wyjątku.
Gdy wystąpi wyjątek, wywołanie jest przekazywane do funkcji sys.excepthook() zawierającej poniższe argumenty.
- exc_type :- Typ występującego wyjątku.
- exc_value :- standardowy komunikat o wyjątku
- exc_traceback:- szczegóły śladu stosu
Funkcja sys.excepthook() wyświetla następnie wszystkie te argumenty w oknie wyjściowym jako standardowy błąd.
Wyzwanie
ŁatwyZastąp funkcję sys.excepthook, aby dostosować i wyświetlać własne komunikaty w oknie wyjściowym, gdy wystąpi wyjątek. W przypadku powyższej instrukcji Pythona powinna ona wyświetlić "Something Went Wrong!", a następnie tylko standardowy komunikat wyjątku.
Spróbuj swoich sił
import sys
def my_exception(exc_type, exc_value, exc_traceback):
#tu wpisz swój kod
#nadpisz przez przypisanie
def add(val1, val2):
print(val1+val2)Wszystkie lekcje w sekcji Obsługa wyjątków w Pythonie
4Dostosowywanie i dobre praktyki
Dostosowywanie śladów stosuPoćwicz samodzielnie: Kompilator Python online