Wyrzucanie wyjątków w Scali, jaka jest „oficjalna reguła”

Śledzę kurs Scali na Coursera. Zacząłem też czytać książkę Scala Odersky'ego.

Często słyszę, że rzucanie wyjątków do języków funkcjonalnych nie jest dobrym pomysłem, ponieważ przerywa przepływ sterowania i zazwyczaj zwracamy Either with Failure lub Success. Wydaje się również, że Scala 2.10 zapewni Try, która idzie w tym kierunku.

Ale w książce i kursie Martin Odersky zdaje się nie mówić (przynajmniej na razie), że wyjątki są złe, a on bardzo często je wykorzystuje. Zauważyłem też, że metody potwierdzają / wymagają ...

Wreszcie jestem trochę zdezorientowany, ponieważ chciałbym postępować zgodnie z najlepszymi praktykami, ale nie są one jasne, a język wydaje się iść w obu kierunkach ...

Czy ktoś może mi wyjaśnić, co powinienem użyć w takim przypadku?

questionAnswers(2)

yourAnswerToTheQuestion