Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Continua dando erro de NullReferenceException

Escrevi o código do jeito que o Guilherme fez porém continua dando o erro de NullReferenceException quando coloco o valor do Saldo de null. Errei algo no código que não consigo ver?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBank
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Metodo();
            }
            catch(NullReferenceException)
            {
                Console.WriteLine("Ocorreu um erro!");
            }

            Console.ReadLine();

        }
        //Teste com a cadeia de chamada:
        //Metodo -> TestaDivisao -> Dividir
        private static void Metodo()
        {
            TestaDivisao(0);//vai dar erro porque nada pode ser dividido por zero

        }

        private static void TestaDivisao(int divisor)
        {
            try
            {
                int resultado = Dividir(10, divisor);
                Console.WriteLine("Resultado da divisão de 10 por " + divisor + " é " + resultado);
            }
            catch(DivideByZeroException)
            {
                Console.WriteLine("Não é possível fazer essa divisão por zero!");   
            }

        }

        private static int Dividir(int numero, int divisor)
        {
            ContaCorrente conta = null;
            Console.WriteLine(conta.Saldo);

            return numero / divisor;
        }

    }

}
2 respostas
solução!

Inicialmente o VS está configurado para parar imediatamente após encontrar a NullReferenceException. Quando rodar o programa desmarque essa opção na caixa de diálogo que o VS abre ou clique em "Continuar", acredito que também resolverá o problema (o botão "Iniciar" se transforma no botão "Continuar" durante a execução do código).

Olá João Carlos, se esse código que você postou é o que está desenvolvendo, eu acho que o erro está no método "Dividir", pois está tentando acessar o atributo "Saldo" do OBJETO conta onde o OBJETO que está nulo.

Espero ter ajudado,