Добавить в С++ больше эмоций
Подписан на c++ proposal.
Вот такое вот предложение поступило:
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.
Перевод(гуглтранслейт):
Спецификации исключений в C++ в настоящее время стольже же точны, как удар кувалды. Это предложение предлагает более эмоциональный подход к квалификаторам исключений — ведь иногда вашей функции просто нужно выплеснуть эмоции.
Мотивация
В современном C++ спецификации исключений недостаточно детализированы.
Бинарный выбор между noexcept и потенциально генерирующими исключения функциями не отражает всю тонкость поведения исключений.
Описание предложения
Это предложение вводит набор выразительных квалификаторов, отражающих эмоциональную и вероятностную природу обработки исключений:
- throwmaybe : «Не знаю, зависит от обстоятельств»
- throwish : «Большую часть времени тихо»
- nopexcept : «Стараюсь не выдавать исключения»
- ¯\\_(ツ)_/¯ : «Даже компилятор не уверен»
- maysometimethrowanexceptionifsomesortofconditionsarerealised : «Всё дело в имени исключения»
- throweventuallymaybe : «Однажды, может быть…»
- throwifyouinsist : «Вы сами напросились»
- throwbutonlyonTuesdays : «Сезонный режим»
- throwunlessyou’relucky : «Зависит от внутреннего состояния»
- throwunlessnoexcept : «Я существую в парадоксе»
- throwmaybe¯\\_(ツ)_/¯: «Я — функция Шрёдингера».
С нетерпением жду ваших мыслей — или хотя бы поднятых бровей.