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 מעודד מפתחים לשקול את כל המסלולים מראש, ובכך להימנע מפיתולי המקרים של שגיאות שנשכחו.
ראה גם:
- פרק המדריך הרשמי של Elm על טיפול בשגיאות: טיפול בשגיאות – מבוא
- תיעוד Elm של
Maybe
: Elm – Maybe - תיעוד Elm של
Result
: Elm – Result