Files
2025-10-25 03:02:53 +03:00

41 lines
1.2 KiB
Markdown

[out.of.range]
# 19 Diagnostics library [[diagnostics]](./#diagnostics)
## 19.2 Exception classes [[std.exceptions]](std.exceptions#out.of.range)
### 19.2.7 Class out_of_range [out.of.range]
[🔗](#lib:out_of_range)
namespace std {class out_of_range : public logic_error {public:constexpr explicit out_of_range(const string& what_arg); constexpr explicit out_of_range(const char* what_arg); };}
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/diagnostics.tex#L257)
The classout_of_range defines the type of objects thrown as exceptions to report an
argument value not in its expected range[.](#1.sentence-1)
[🔗](#lib:out_of_range,constructor)
`constexpr out_of_range(const string& what_arg);
`
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/diagnostics.tex#L270)
*Postconditions*: strcmp(what(), what_arg.c_str()) == 0[.](#2.sentence-1)
[🔗](#lib:out_of_range,constructor_)
`constexpr out_of_range(const char* what_arg);
`
[3](#3)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/diagnostics.tex#L281)
*Postconditions*: strcmp(what(), what_arg) == 0[.](#3.sentence-1)