Elm:
Xử lý lỗi

Cách thức:

Triết lý cốt lõi của Elm là Không Có Ngoại Lệ Thời Gian Chạy. Vì thế, Elm tận dụng hệ thống kiểu của mình với những kiểu như MaybeResult để xử lý lỗi.

Với trường hợp Maybe:

safeDivide : Float -> Float -> Maybe Float
safeDivide numerator denominator =
    if denominator == 0 then
        Nothing
    else
        Just (numerator / denominator)
        
-- Khi bạn chạy nó:

safeDivide 10 2
--> Just 5

safeDivide 10 0
--> Nothing

Với trường hợp Result:

type Error = DivisionByZero

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

-- Và sử dụng nó:

safeDivide 10 2
--> Ok 5

safeDivide 10 0
--> Err DivisionByZero

Sâu hơn nữa

Hệ thống kiểu của Elm là nghiêm ngặt, giúp phát hiện lỗi sớm. Trong lịch sử, hầu hết các ngôn ngữ dựa vào ngoại lệ và kiểm tra thời gian chạy, nhưng Elm chọn đảm bảo tại thời điểm biên dịch. Các lựa chọn khác như Result cho phép thông tin lỗi chi tiết, trong khi Maybe đơn giản hơn cho các tình huống có-không. Cách xử lý lỗi của Elm khuyến khích các nhà phát triển xem xét tất cả các lối đi ngay từ đầu, tránh được cái bẫy của việc quên mất các trường hợp lỗi.

Xem thêm: