Este projeto em C# .NET foi desenvolvido para explorar o tratamento de exceções, utilizando blocos try-catch-finally
em operações de saque em uma conta bancária. O sistema simula um cenário de retiradas de valores de uma conta, verificando limites e saldo disponível, e lançando exceções personalizadas quando ocorrem erros.
O sistema permite ao usuário criar uma conta bancária e realizar múltiplos saques, verificando se o valor do saque excede o limite permitido ou se há saldo suficiente. Quando um erro ocorre durante a tentativa de saque, o sistema lança exceções personalizadas e trata essas exceções de forma adequada, exibindo mensagens de erro ao usuário e mantendo o sistema estável.
- Criação de Conta: O sistema permite criar uma conta bancária com número, titular, saldo inicial e limite de saque.
- Saque com Tratamento de Exceções: O sistema verifica se o valor do saque é maior que o limite permitido ou maior que o saldo disponível e lança exceções específicas em cada caso.
- Tratamento de Erros: O sistema captura exceções personalizadas (
NotEnoughBalanceException
eWithdrawException
) e exibe mensagens de erro informativas. - Bloco
finally
: Após cada tentativa de saque, o sistema exibe o saldo atual, independentemente de ter ocorrido uma exceção.
Este projeto demonstra o uso dos seguintes pilares da Programação Orientada a Objetos:
- Herança: As exceções personalizadas
NotEnoughBalanceException
eWithdrawException
herdam da classe baseApplicationException
, especializando o comportamento de exceções para o domínio da aplicação. - Polimorfismo: O uso de polimorfismo é evidenciado no tratamento de exceções, onde diferentes tipos de exceções são capturadas e tratadas de forma adequada.
- Classe
Account
: Representa uma conta bancária com número, titular, saldo e limite de saque. Contém métodos para depósito e saque, onde o saque pode lançar exceções se houver problemas. - Classe
WithdrawException
: Exceção personalizada que é lançada quando ocorre um erro genérico relacionado a saques, como exceder o limite permitido. - Classe
NotEnoughBalanceException
: Subclasse deWithdrawException
, lançada quando o saldo da conta é insuficiente para o saque solicitado.
O usuário pode criar uma conta bancária e tentar realizar múltiplos saques. Se o valor do saque exceder o limite permitido ou o saldo disponível, uma exceção será lançada, tratada e uma mensagem de erro será exibida. O sistema garante que, mesmo em caso de erro, o saldo da conta seja exibido corretamente após cada tentativa de saque.
- C#
- .NET 8.0