1
resposta

Excepitions

 class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // TestandoArrey();

                int[] idades = null;

                idades[0] = 1;
                idades[1] = 18;
                idades[3] = 19;
                idades[4] = 20;
                idades[5] = 30;


                Console.WriteLine(idades[0]);
                Console.WriteLine(idades[1]);
                Console.WriteLine(idades[2]);
                Console.WriteLine(idades[3]);
                Console.WriteLine(idades[4]);
            }
            catch (NullReferenceException ex)
            {
                Console.WriteLine(ex.Message);
            }


            Console.ReadLine();
        }

insira seu código aqui

Por que o bloco catch nao e acionado ????

1 resposta

Nesse código, o bloco catch é ativado pela instrução "int [] idades = null;" Tem como mensagem => "Referência de objeto não definida para uma instância de um objeto."

para evitar isso, deve-se instanciar o array ("int [] idades = new int [5];") mas o bloco catch não será chamado porque o erro não é do tipo "NullReferenceException" e sim "IndexOutOfRangeException"

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software