The C++ stdlib (aka STL) is 100% usable without exceptions. This is deliberate: major players and code bases disable exceptions, including Google, LLVM, Firefox, so it has to work and work well. And disabling exceptions is easy, simply pass `-fno-exceptions` to the compiler.Fallible C++ functions do return an error code. errno is part of C++.
https://en.cppreference.com/w/cpp/error/errno
jcelerier|3 years ago
If you use the stdlib it will still throw (but disabling exceptions just means that now you can't catch it and it will be an automatic crash if it reaches main): https://gcc.godbolt.org/z/1s11f99a6 as the "throw" themselves are in the stdlib's implementation files, not in the headers so it isn't "your" code and isn't affected by -fno-exceptions.
programmer_dude|3 years ago
benreesman|3 years ago
clang-tidy rarely if ever misses on noexcept violations these days.
Not sure what the LOL is about.
MrQuincle|3 years ago