Jogando exceções em Scala, qual é a “regra oficial”
Estou seguindo o curso de Scala no Coursera. Eu comecei a ler o livro Scala de Odersky também.
O que eu ouço com frequência é que não é uma boa ideia lançar exceções em linguagens funcionais, porque isso quebra o fluxo de controle e geralmente retornamos um com o fracasso ou o sucesso. Parece também que o Scala 2.10 fornecerá o Try que vai nessa direção.
Mas no livro e no curso, Martin Odersky não parece dizer (pelo menos por enquanto) que exceções são ruins, e ele as usa muito. Eu também notei que os métodos afirmam / exigem ...
Finalmente, estou um pouco confuso porque gostaria de seguir as melhores práticas, mas elas não são claras e a linguagem parece estar em ambas as direções ...
Alguém pode me explicar o que devo usar em cada caso?