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ư Maybe
và Result
để 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:
- Phần hướng dẫn chính thức của Elm về xử lý lỗi: Xử Lý Lỗi – Giới Thiệu
- Tài liệu Elm về
Maybe
: Elm – Maybe - Tài liệu Elm về
Result
: Elm – Result