| ▲ | krashidov a day ago | |||||||
Has anyone else here banned exceptions (for the most part) in less critical settings (like a web app)? I feel like that's the way to go since you don't obscure control flow. I have also been considered adding assertions like TigerBeetle does https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TI... | ||||||||
| ▲ | tonfa a day ago | parent | next [-] | |||||||
Google style bans them: https://google.github.io/styleguide/cppguide.html#Exceptions | ||||||||
| ▲ | fweimer a day ago | parent | prev | next [-] | |||||||
Most large open-source projects ban exceptions, often because the project was originally converted from C and is just not compatible with non-local control flow. Or the project originated within an organization which has tons of C++ code that is not exception-safe and is expected to integrate with that. Some large commercial software systems use C++ exceptions, though. Until recently, pretty much all implementations seemed to have a global mutex on the throw path. With higher and higher core counts, the affordable throw rate in a process was getting surprisingly slow. But the lock is gone in GCC/libstdc++ with glibc. Hopefully the other implementations follow, so that we don't end up with yet another error handling scheme for C++. | ||||||||
| ▲ | mwkaufma a day ago | parent | prev [-] | |||||||
Lots of games, and notably the Unreal Engine, compile without exceptions. EASTL back in the day was in part written to avoid the poor no-exception support in Dinkumware STL and STLport. | ||||||||
| ||||||||