Câu hỏi này có thể hơi cũ, nhưng vì tôi nghĩ câu trả lời "đúng" ở đây chỉ là một cách có thể dẫn đến một số vấn đề ẩn Các vấn đề sau trong mã của bạn. Ngay cả khi có một chút tranh cãi , các trường hợp ngoại lệ được kiểm tra vẫn tồn tại vì một lý do.
Theo tôi, cách thanh lịch nhất mà tôi có thể tìm thấy được Misha đưa ra ở đây Các ngoại lệ thời gian chạy tổng hợp trong các luồng Java 8
chỉ bằng cách thực hiện các hành động trong "tương lai". Vì vậy, bạn có thể chạy tất cả các phần làm việc và thu thập các ngoại lệ không hoạt động như một phần duy nhất. Nếu không, bạn có thể thu thập tất cả chúng trong Danh sách và xử lý chúng sau.
Một cách tiếp cận tương tự đến từ Benji Weber . Ông đề nghị tạo ra một loại riêng để thu thập các bộ phận làm việc và không làm việc.
Tùy thuộc vào những gì bạn thực sự muốn đạt được ánh xạ đơn giản giữa các giá trị đầu vào và Giá trị đầu ra xảy ra Ngoại lệ cũng có thể phù hợp với bạn.
Nếu bạn không thích bất kỳ cách nào trong số những cách này, hãy cân nhắc sử dụng (tùy thuộc vào Ngoại lệ gốc) ít nhất là một ngoại lệ riêng.