Re[6]: static_assert в catch секции
От: so5team https://stiffstream.com
Дата: 23.12.24 11:57
Оценка:
Здравствуйте, rg45, Вы писали:

R>Здравствуйте, so5team, Вы писали:


S>>Грубо говоря, было:


S>>
S>>template<typename T>
S>>int f() {
S>>  try {
S>>    return T::some_func();
S>>  }
S>>  catch(...) {
S>>    // Ну не шмогли, ну и ладно.
S>>    return 0;
S>>  }
S>>}
S>>


S>>Теперь такая возможность появляется (т.е. функцию f из примера выше можно объявить constexpr) но не хочется "проглатывать" исключения, если они происходят в compile-time.


R>Да, только в этом сценарии отсутсвует долгожданное "try-catch в constexpr функции"


Почему отсутствует? Была просто f() показанная выше, стала:
template<typename T>
constexpr int f() {
  try {
    return T::some_func();
  }
  catch(...) {
    // Ну не шмогли, ну и ладно.
    return 0;
  }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.