Elm:
טיפול בשגיאות

איך לעשות:

הפילוסופיה המרכזית של Elm היא אין חריגות בזמן ריצה. לכן, Elm מנצלת את מערכת הטיפוסים שלה עם טיפוסים כמו Maybe ו-Result לטיפול בשגיאות.

לסיטואציה של Maybe:

safeDivide : Float -> Float -> Maybe Float
safeDivide numerator denominator =
    if denominator == 0 then
        Nothing
    else
        Just (numerator / denominator)
        
-- כשמריצים את זה:

safeDivide 10 2
--> Just 5

safeDivide 10 0
--> Nothing

לסיטואציה של Result:

type Error = DivisionByZero

safeDivide : Float -> Float -> Result Error Float
safeDivide numerator denominator =
    if denominator == 0 then
        Err DivisionByZero
    else
        Ok (numerator / denominator)

-- וכשמשתמשים בזה:

safeDivide 10 2
--> Ok 5

safeDivide 10 0
--> Err DivisionByZero

צלילה עמוקה

מערכת הטיפוסים של Elm היא נוקשה, מה שעוזר לזהות שגיאות מוקדם. באופן היסטורי, רוב השפות הסתמכו על חריגות ובדיקות בזמן ריצה, אך Elm בחרה בהבטחות בזמן ההידור. חלופות כמו Result מאפשרות מידע מפורט על שגיאות, בעוד ש-Maybe פשוט יותר לסיטואציות של כן-לא. מנגנון טיפול השגיאות של Elm מעודד מפתחים לשקול את כל המסלולים מראש, ובכך להימנע מפיתולי המקרים של שגיאות שנשכחו.

ראה גם: