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?
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.