Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Bank Account Withdrawal | Custom Exception Types
C++ Exception Handling

bookChallenge: Bank Account Withdrawal

Challenge Overview:

You will build a simple BankAccount class in C++ that supports withdrawing funds. If a withdrawal request exceeds the available balance, your code must throw a custom exception named InsufficientFundsException. This exercise helps you practice creating and using your own exception types to handle error conditions in a realistic scenario.

Key Requirements:

  • Define a custom exception type, InsufficientFundsException, that inherits from std::exception and overrides the what() method to return the message "Insufficient funds".
  • Implement a BankAccount class with:
    • A constructor to set the initial balance;
    • A withdraw(double amount) method that throws an InsufficientFundsException if amount is greater than the current balance; otherwise, it subtracts amount from the balance.

Example usage:

BankAccount account(100.0);
account.withdraw(50.0); // OK
account.withdraw(60.0); // Throws InsufficientFundsException
Task

Swipe to start coding

Build two classes to simulate a bank account withdrawal scenario with custom exception handling:

  • Define a custom exception type that inherits from std::exception and overrides the what() method to return a specific message when an error occurs.
  • Create a class to represent a bank account with a balance. Include a constructor for setting the initial balance and a method for withdrawing funds. If the withdrawal amount exceeds the available balance, your method must throw your custom exception; otherwise, it should deduct the amount from the balance.

Focus on using clear class and method names. Ensure your exception message is easy to identify. Follow best practices for exception handling and class design.

Solution

solution.cpp

solution.cpp

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 3
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Suggested prompts:

Can you show me how to define the InsufficientFundsException class?

How should I implement the withdraw method to throw the exception?

Can you explain how exception handling works in this scenario?

close

Awesome!

Completion rate improved to 6.67

bookChallenge: Bank Account Withdrawal

Swipe to show menu

Challenge Overview:

You will build a simple BankAccount class in C++ that supports withdrawing funds. If a withdrawal request exceeds the available balance, your code must throw a custom exception named InsufficientFundsException. This exercise helps you practice creating and using your own exception types to handle error conditions in a realistic scenario.

Key Requirements:

  • Define a custom exception type, InsufficientFundsException, that inherits from std::exception and overrides the what() method to return the message "Insufficient funds".
  • Implement a BankAccount class with:
    • A constructor to set the initial balance;
    • A withdraw(double amount) method that throws an InsufficientFundsException if amount is greater than the current balance; otherwise, it subtracts amount from the balance.

Example usage:

BankAccount account(100.0);
account.withdraw(50.0); // OK
account.withdraw(60.0); // Throws InsufficientFundsException
Task

Swipe to start coding

Build two classes to simulate a bank account withdrawal scenario with custom exception handling:

  • Define a custom exception type that inherits from std::exception and overrides the what() method to return a specific message when an error occurs.
  • Create a class to represent a bank account with a balance. Include a constructor for setting the initial balance and a method for withdrawing funds. If the withdrawal amount exceeds the available balance, your method must throw your custom exception; otherwise, it should deduct the amount from the balance.

Focus on using clear class and method names. Ensure your exception message is easy to identify. Follow best practices for exception handling and class design.

Solution

solution.cpp

solution.cpp

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 3
single

single

some-alt