לדלג לתוכן

5.6 - שגיאות - הרצאה

יצירת סוגי שגיאות משלנו

שגיאה מותאמת אישית

  • כל שגיאה בפייתון היא אובייקט, וכל השגיאות יורשות מException.
  • אם נרצה לצור שגיאה משלנו, נוכל לצור class שיורש מException
    class CustomError(Exception):
        pass
    # Every exception in python which inhertient from `Exception` has message
    raise CustomError("This is a custom exception.")
    

זריקה מ - raise from

  • בדרך כלל כשאנחנו זורקים שגיאות שיצרנו מראש כאשר שגיאה אמתית באמת קרתה, נוכל להביא מידע מהזריקה הראשונה לזריקה השנייה באמצאות raise from
    דוגמה:
    try:
        0/0
    except Exception as e:
        raise CustomError("This is a custom exception.") from e
    
  • הקוד הבא יביא לנו את השגיאה המיוחדת שיצרנו, עם מידע על הזריקה הקודמת (ZeroDivisionError).

אנימציה שמראה איך שגיאת ZeroDivisionError נתפסת ונזרקת מחדש כשגיאת CustomError עם קישור לשגיאה המקורית בזכות raise from