3
respostas

Classe SaldoInsuficienteException

Boa noite,

Criei a classe SaldoInsuficienteException conforme foi exibido na aula: somente a criação da classe sem nada implementado dentro dela. Porém, o compilador não permitiu a codificação abaixo:

if(valorASerSacado > this.Saldo)
  {
     throw new SaldoInsuficienteException("Valor do saque maior que o saldo");
  }

O C# solicitou que fosse criado um método inicial, então tive que implementar a classe abaixo:

class SaldoInsuficienteException : Exception
    {
        public SaldoInsuficienteException(String Msg)
        {
            String Mensagem = Msg;
        }

    }

O que eu fiz de errado?

3 respostas

O problema é que esta "String " como uma classe e não como um tipo de dado. E por isso seria necessário criar uma instanciar de uma classe String passando como parâmetro uma strinf. Quando você usa String com o "S" maiúsculo esta se referindo a uma classe, já com o "s" usa o tipo primitivo string.

Olá Luis,

Mas o problema foi o seguinte: no vídeo da aula, orienta a criar a classe sem nenhum conteúdo dentro e para utilizar ela dentro do Form principal utilizando o código abaixo:

if(valorASerSacado > this.Saldo)
  {
     throw new SaldoInsuficienteException("Valor do saque maior que o saldo");
  }

Minha dúvida é se faltou alguma explicação no curso ou se tenho que mandar a mensagem, dentro dos parenteses com aspas simples.

Tinha alguma necessidade criar esse classe sem conteúdo?? não vejo. Anão ser que tenha alguma implementação nele. Um outro problema é o seguinte, se você criou uma classe sem construtor e esta instanciado ele passando parâmetro, nesse caso vai dar erro mesmo. No caso você esta: criando passando como parâmetro uma string, nesse tem que ter um construtor recebendo uma string. Por isso ele reclamou.