AI Computer Science Academy · Faisalabad

C++ Foundations

Catch a bad number

Task 56 of 56 C++ Capstone: structs, maps and errors
All tasks
Read first Task 56

Catch a bad number

`std::stoi` throws `std::invalid_argument` on text. Catching it keeps the program alive and lets you skip the bad row.

Task

Task: Catch a bad number. What does this program print?

The editor already contains a starting point. Change it until every check passes — the Next task button unlocks when it does.

What you start with
#include <iostream>
#include <string>
using namespace std;

int main() {
    string values[] = {"250", "abc", "375"};
    int total = 0;
    for (const string& v : values) {
        try {
            total += stoi(v);
        } catch (...) {
            cout << "Skipped: " << v << endl;
        }
    }
    cout << "Total: " << total << endl;
    return 0;
}
C++ 1 automatic check Capstone: structs, maps and errors
Code editor Ctrl + Enter runs
Run your code to see the output and the checks.
Your result

Submit your code to see results

Write your code in the middle column and press Run code.

Checks on this task:

  • Check 1

Track progress

0 of 56 tasks complete

Next task unlocks when every check passes.

Sign in to keep your code and certificates.

Next task (pass every check first)