43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
[logic.error]
|
|
|
|
# 19 Diagnostics library [[diagnostics]](./#diagnostics)
|
|
|
|
## 19.2 Exception classes [[std.exceptions]](std.exceptions#logic.error)
|
|
|
|
### 19.2.3 Class logic_error [logic.error]
|
|
|
|
[ð](#lib:logic_error)
|
|
|
|
namespace std {class logic_error : public exception {public:constexpr explicit logic_error(const string& what_arg); constexpr explicit logic_error(const char* what_arg); };}
|
|
|
|
[1](#1)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/diagnostics.tex#L91)
|
|
|
|
The classlogic_error defines the type of objects thrown as
|
|
exceptions to report errors presumably detectable before
|
|
the program executes, such as violations of logical preconditions or class
|
|
invariants[.](#1.sentence-1)
|
|
|
|
[ð](#lib:logic_error,constructor)
|
|
|
|
`constexpr logic_error(const string& what_arg);
|
|
`
|
|
|
|
[2](#2)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/diagnostics.tex#L105)
|
|
|
|
*Postconditions*: strcmp(what(), what_arg.c_str()) == 0[.](#2.sentence-1)
|
|
|
|
[ð](#lib:logic_error,constructor_)
|
|
|
|
`constexpr logic_error(const char* what_arg);
|
|
`
|
|
|
|
[3](#3)
|
|
|
|
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/diagnostics.tex#L116)
|
|
|
|
*Postconditions*: strcmp(what(), what_arg) == 0[.](#3.sentence-1)
|