Một số ngôn ngữ lập trình như Scala có khái niệm về các Option
loại (còn được gọi là Maybe
), có thể chứa giá trị hoặc không.
Từ những gì tôi đã đọc về họ, họ được coi là một cách xử lý vấn đề vượt trội hơn null
, bởi vì họ rõ ràng buộc lập trình viên phải xem xét các trường hợp có thể không có giá trị thay vì chỉ nổ tung trong thời gian chạy.
Mặt khác, các trường hợp ngoại lệ được kiểm tra trong Java dường như bị coi là một ý tưởng tồi và Java dường như là ngôn ngữ được sử dụng rộng rãi duy nhất thực hiện chúng. Nhưng ý tưởng đằng sau chúng dường như có phần giống với Option
loại, để rõ ràng buộc lập trình viên phải đối phó với thực tế là một ngoại lệ có thể bị ném.
Có một số vấn đề khác với các Ngoại lệ được kiểm tra mà Option
các loại không có? Hoặc những ý tưởng này không giống như tôi nghĩ, và có những lý do chính đáng để buộc xử lý rõ ràng cho Tùy chọn và không cho Ngoại lệ?
Either e a
kiểu dữ liệu.