Tentei chamar a pegaArquivo passando o caminho certo, e outra vez, passando o caminho errado. Como ela fez. Não deu certo. Apenas pegou o erro sem mostrar o acerto.
Tentei chamar a pegaArquivo passando o caminho certo, e outra vez, passando o caminho errado. Como ela fez. Não deu certo. Apenas pegou o erro sem mostrar o acerto.
Olá Sonia, tudo bem?
Peço desculpa pela demora para responder a sua pergunta.
Quando um erro é lançado na função trataErro, ele não é capturado pelo bloco catch dentro da função pegaArquivo, pois a função trataErro não está sendo chamada dentro do contexto do bloco try da função pegaArquivo.
Quando um erro é lançado na função trataErro, ele se torna um erro não capturado, o que faz com que a execução do programa seja interrompida e o erro, seja exibido no terminal. Isso impede que a mensagem da primeira chamada da função pegaArquivo seja exibida.
Espero ter ajudado. Caso ainda tenha alguma pergunta, relacionado a este tópico, estarei à disposição para ajudá-la.
Abraços e bons estudos.