1
resposta

Alternativa D, considerada errada, está correta. Verificar.

static int Teste()
{
    try
    {
        ContaCorrente conta = null;
        Console.WriteLine(conta.Saldo);
        return 0;
    }
    catch (Exception)
    {
        Console.WriteLine("Exceção capturada e relançada!");
        throw;
        return -1;
    }
}
1 resposta

Olá Anderson,

Em tempo de compilação, o compilador não verifica este tipo de situação. Então deveremos respeitar o caminho onde nenhuma exceção é lançada e incluir um return.

Quando chamado o método Teste() ele vai tentar

 ContaCorrente conta = null;

Define a ContaCorrente conta como vazio.

        Console.WriteLine(conta.Saldo);

Ok aqui vai dar um erro pois sabemos que conta não pode ser nula. Mas e se dentro da classe conta o programador alterar e fazer ela tratar o erro dentro dela? Aí o código vai continuar e o programa irá passar por esse return abaixo.

        return 0;

Então a alternativa D está errada. Espero ter ajudado!!!