Menu
Coddy logo textTech

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.

challenge icon

Wyzwanie

Łatwy

Zastą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

Poćwicz samodzielnie: Kompilator Python online