Tenho uma dúvida, no caso na parte "mãos na massa" foi orientado a utilizar o using visto que a única função do try, catch, finally era verificar se a referência do leitor era nula ou não, porém se ocorrer qualquer exceção o using não vai tratar, ou seja não faz sentido deixar o código somente com o using e remover o resto do código, o meu código apresenta erro por não ter a exceção tratada, gostaria de saber qual o melhor lugar para se colocar um try, catch... Conforme os códigos abaixo se eu deixar a exceção ativa no construtor e chamar o mesmo no programa principal o console vai fechar e gerar uma exceção não tratada... Além disso gostaria de saber se em um programa eu posso usar quantos try catchs eu julgar necessário, se isso é uma má pratica, e se teria alguma dica pra otimizar o uso desse recurso.
using (LeitorDeArquivo leitor = new LeitorDeArquivo("documento.txt"))
{
leitor.LerProximaLinha();
leitor.LerProximaLinha();
leitor.LerProximaLinha();
}
public LeitorDeArquivo(string arquivo)
{
Arquivo = arquivo;
throw new FileNotFoundException();
Console.WriteLine("Abrindo arquivo: " + arquivo);
}