Cách tốt nhất để xử lý ngoại lệ trong khi lặp qua một vòng lặp trong Scala là gì? Ví dụ, nếu tôi có một phương thức convert() có thể ném một ngoại lệ, tôi muốn bắt ngoại lệ đó, ghi lại nó và tiếp tục lặp lại. Có một cách "scala" để làm điều này?Scala - Bắt một ngoại lệ trong một bản đồ
Lý tưởng nhất, tôi muốn một cái gì đó giống như ...
val points: Seq[Point] = ...
val convertedPoints: Seq[ConvertedPoint] = points.map(
p => {
try { p.convert() }
catch { case ex: Exception => logger.error("Could not convert", ex) }
})
Bạn không thể làm các mã trên vì nó không phải là một ánh xạ trực tiếp từ một danh sách những việc khác (bạn nhận lại Seq [Bất kỳ] trái với Seq [ConvertedPoint]). Mọi sự trợ giúp sẽ rất được trân trọng!
Cảm ơn!
Bạn đã đánh cắp câu trả lời của tôi, nhưng 1 cho giải thích nó tốt hơn :-) Chào mừng bạn đến với SO. –
Đồng ý - câu trả lời của bạn chính xác 100% (và một nguồn cảm hứng), nhưng tôi nghĩ thêm chi tiết hơn là một câu trả lời khác thay vì chỉ là một bình luận. :) – DaGGeRRz