התאמה אישית של Tracebacks
שיעור 16 מתוך 16 בקורס טיפול בחריגות ב-Python של Coddy.
כשמריצים את התוכנית שלהלן, יופיעו בחלון הפלט פרטי מעקב המחסנית, החריגה וההודעה הסטנדרטית של החריגה.
print(100 + "hello")התוכנית שלעיל תפיק את הפלט הבא:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
print(100+'hello')
TypeError: unsupported operand type(s) for +: 'int' and 'str'שלוש השורות הראשונות הן פרטי מעקב המחסנית, ובהם מספר השורה, שם הקובץ, הפקודה וכו'.
השורה האחרונה היא חריגה: ההודעה הסטנדרטית של החריגה.
כאשר מתרחשת חריגה, מתבצעת קריאה לפונקציה sys.excepthook() עם הארגומנטים שלהלן.
- exc_type :- סוג החריגה שהתרחשה.
- exc_value :- ההודעה הסטנדרטית של החריגה
- exc_traceback:- פרטי מעקב המחסנית
לאחר מכן, sys.excepthook() מדפיסה את כל הארגומנטים האלה בחלון הפלט כשגיאה סטנדרטית.
אתגר
קלעקוף את הפונקציה sys.excepthook כדי להתאים אישית ולהציג הודעות משלך בחלון הפלט אם מתרחשת חריגה. עבור פקודת Python שלעיל, היא אמורה להציג רק את "Something Went Wrong!" ולאחר מכן את הודעת החריגה הסטנדרטית.
נסו בעצמכם
import sys
def my_exception(exc_type, exc_value, exc_traceback):
#הקוד שלך יופיע כאן
#דריסה באמצעות השמה
def add(val1, val2):
print(val1+val2)כל השיעורים ביחידה טיפול בחריגות ב-Python
4התאמה אישית ושיטות עבודה מומלצות
התאמה אישית של Tracebacksתרגלו בעצמכם: קומפיילר Python אונליין