LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

А теперь внимание, вопрос, как вы заставите не-noexcept конструкторы не бросать исключения?

а их не надо ничему заставлять. если они бросят исключения, а вы их не перехватите, ваш код вывалится по неперехваченному исключению. что говорит о том, что он некорректен. поскольку поломать конструктор пути можно только некорректными параметрами.

а если вы их будете перехватывать, то все, что можно тут сделать - вывести то-то в лог и упасть… что мало отличается от неперехвата.

а если вас так парит неперехваченное исключение, пользуйтесь nothrow конструктором.

зы. а если хочется совсем красиво работать с std::filesystem, то надо на самом верху написать перехватчик std::file_system_error(или как оно там), а потом повсеместно пользоваться nothrow функциями.

Исходная версия alysnix, :

А теперь внимание, вопрос, как вы заставите не-noexcept конструкторы не бросать исключения?

а их не надо ничему заставлять. если они бросят исключения, а вы их не перехватите, ваш код вывалится по неперехваченному исключению. что говорит о том, что он некорректен. поскольку поломать конструктор пути можно только некорректными параметрами.

а если вы их будете перехватывать, то все, что можно тут сделать - вывести то-то в лог и упасть… что мало отличается от неперехвата.

а если вас так парит неперехваченное исключение, пользуйтесь nothrow конструктором.