Date: Sun, 31 Aug 2025 20:28:31 +0000
C++ exception specifications are currently about as subtle as a sledgehammer. This proposal introduces a more emotionally nuanced approach to exception qualifiers — because sometimes, your function just needs to vent.
Motivation
In modern C++, exception specifications lack granularity.
The binary choice between noexcept and potentially throwing functions fails to capture the nuanced reality of exception behavior.
Proposal Description
This proposal introduces a set of expressive qualifiers to reflect the emotional and probabilistic nature of exception handling:
- throwmaybe : "I don't know, depends"
- throwish : "Most of the time quiet"
- nopexcept : "Trying not to throw"
- ¯\\_(ツ)_/¯ : "Even the compiler is unsure"
- maysometimethrowanexceptionifsomesortofconditionsarerealised : "All is in the exception name"
- throweventuallymaybe : "One day, maybe…"
- throwifyouinsist : "You asked for it"
- throwbutonlyonTuesdays : "Seasonal behavior"
- throwunlessyou’relucky : "It depends on internal state"
- throwunlessnoexcept : "I exist in a paradox"
- throwmaybe¯\\_(ツ)_/¯ : "I am Schrödinger’s function"
Looking forward to your thoughts — or at least your raised eyebrows.
Best regards,
Jérôme Saint-Martin
P.S. P.S. Caroline, Philippe, Flag — thanks for bearing witness to my brilliant brillance.
Received on 2025-08-31 20:28:38