Como poderíamos refletir melhor onde realizar o tratamento com try/catch da Exception (no método em uma classe, por exemplo, ou no método main), ou se deveríamos apenas lançar a exceção para quem o chama?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como poderíamos refletir melhor onde realizar o tratamento com try/catch da Exception (no método em uma classe, por exemplo, ou no método main), ou se deveríamos apenas lançar a exceção para quem o chama?
Olá Marcos, tratamento de exceção tem como princípio evitar percursos que possam gerar erro no sistema. Ou seja o método caso ele faça alguma ação que pode resultar em erro. Sendo assim o método determina que tipo de exceções ele pode gerar (Throws nException).
E quem o chama tem que cobrir a chamada com o try/catch. Porém caso o seu método chame outra classe que contenha um método que possa gerar Exception esse método pode ser coberto com try/catch também.
Resumindo você pode adicionar em métodos os encadeamentos de Try/catch, em casos específicos como o citado acima, se necessário ou realiza o tratamento no controlador/serviço/main que você desejar.