22 Diagnostics library [diagnostics]

22.2 Exception classes [std.exceptions]

22.2.6 Class out_­of_­range [out.of.range]

namespace std {
  class out_of_range : public logic_error {
  public:
    explicit out_of_range(const string& what_arg);
    explicit out_of_range(const char* what_arg);
  };
}

The class out_­of_­range defines the type of objects thrown as exceptions to report an argument value not in its expected range.

out_of_range(const string& what_arg);

Effects: Constructs an object of class out_­of_­range.

Postconditions: strcmp(what(), what_­arg.c_­str()) == 0.

out_of_range(const char* what_arg);

Effects: Constructs an object of class out_­of_­range.

Postconditions: strcmp(what(), what_­arg) == 0.