De lever des exceptions à la Scala, qu'est-ce que la “règle officielle”

Je suis à la suite de la Scala de cours sur Coursera.
J'ai commencé à lire la Scala livre de Odersky ainsi.

Ce que j'entends souvent, c'est que ce n'est pas une bonne idée de lancer des exceptions dans les langages fonctionnels, parce qu'il rompt le flux de contrôle et nous avons l'habitude de revenir un, Soit avec l'Échec ou le Succès.
Il semble également que la Scala 2.10 fournira l'essai qui va dans cette direction.

Mais dans le livre et le cours, Martin Odersky ne semble pas pour le dire (au moins pour l'instant) que les exceptions sont mauvais, et qu'il les utilise beaucoup.
J'ai aussi remarqué que les méthodes d'affirmer /besoin...

Enfin je suis un peu confus, parce que j'aimerais suivre les meilleures pratiques, mais elles ne sont pas claires et la langue semble aller dans les deux sens...

Quelqu'un peut-il m'expliquer ce que je dois utiliser dans quel cas?

  • Je pense que le plus vous biaisée de pur fonctionnel haskell/scalaz côté, plus vous allez utiliser/Essayer. Passer d'exceptions à l'un des deux est un continuum et il est difficile de dire où est la limite entre eux.
  • Bonne question, j'ai également été surpris par lui, en recourant à l'exception de jeter toute la place. Mais alors, il est vrai, de la Nothing type est une sorte de élégant pour le polymorphisme.
  • J'ai posé une question similaire: stackoverflow.com/questions/13012149/... (merci pour om-nom-nom pour le lien)