This commit is contained in:
2025-10-25 03:02:53 +03:00
commit 043225d523
3416 changed files with 681196 additions and 0 deletions

42
cppdraft/logic/error.md Normal file
View File

@@ -0,0 +1,42 @@
[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)