Описание тега exception-specification
2
ответа
Может ли g++ проверить спецификаторы броска?
Два вопроса по этому поводу: Есть ли способ заставить g++ игнорировать throw спецификаторы?(например, насколько я помню, Visual Studio игнорирует спецификаторы броска, отличные от throw()) Можно ли заставить g++ проверить правильность спецификаторов…
18 май '11 в 11:54
2
ответа
Повторить поведение спецификаций исключений под VC++ 9.0
Я работаю над старым кодом, который сильно зависит от поведения спецификаций исключений, описанных в стандарте языка. А именно, вызовы std:: surprise () при нарушениях спецификации исключений описанной ниже формы. foo() throw(T) { /*...*/ } Специфик…
12 сен '09 в 20:43
1
ответ
Может ли main() иметь спецификацию исключений?
В стандарте C++ может main функция имеет спецификацию исключения? Например, законно ли следующее? int main() noexcept {}
10 май '17 в 07:21
2
ответа
Удалите спецификации исключений из кода C++ с помощью sed
Я хочу автоматически удалить устаревшие спецификации исключений из моего кода C++ и попытаться использовать sed для этой задачи. Формат спецификации исключения throw следующий со списком исключений (слов) в скобках, поэтому я написал это sed: sed -r…
05 фев '16 в 08:39
3
ответа
Спецификация исключения
Я знаю, что эта функция будет устаревшей в C++0x, но для меня, как для начинающего, это кажется хорошей идеей иметь ее. Может ли кто-нибудь объяснить мне, почему это не хорошая идея?
23 мар '10 в 16:32
11
ответов
Существует ли общепринятая идиома для обозначения кода C++, который может генерировать исключения?
Я видел проблемы при использовании кода C++, который неожиданно для вызывающей стороны выдает исключение. Не всегда возможно или практически невозможно прочитать каждую строку модуля, который вы используете, чтобы увидеть, генерирует ли он исключени…
11 авг '09 в 16:42
3
ответа
Переход на C++11, где деструкторы неявно объявляются с noexcept
В C++11 деструктор без какой-либо спецификации исключений неявно объявляется с noexcept, который является изменением от C++03. Таким образом, код, который раньше вызывал деструкторы в C++ 03, все равно прекрасно компилируется в C++11, но будет завис…
05 окт '15 в 19:26
1
ответ
Есть ли смысл объявлять удаленную функцию как noexcept?
Рассмотрим два возможных определения класса: Выставка: struct A { A() = delete; }; Выставка': struct A { A() noexcept = delete; } Есть ли смысл объявлять удаленную функцию как noexcept?
09 июл '16 в 07:15
2
ответа
Путаница с функциями без бросков
У меня есть 2 вопроса о функциях без метания: Зачем делать функцию без метания? Как сделать функцию без метания? Если код внутри функции на самом деле может throw, тогда я должен все еще сделать это не бросающим? Вот пример: void swap(Type t1, Type …
07 авг '12 в 08:27
1
ответ
Нет ограничений на типы исключений броска
Я узнал, что когда я указываю тип исключения, которое может генерировать функция, другие не могут быть выброшены, но когда я тестировал этот код, он не следовал этому правилу. void foo(int i)throw(int) { if(i==2) { throw("exception"); } } int main()…
19 июн '13 в 16:06
2
ответа
Как std::runtime_error::runtime_error(const std::string&) может удовлетворить требование std:: исключения для throw()?
std::exception требует, чтобы его конструктор throw(), Еще std::runtime_error принимает std::string в качестве аргумента, который указывает, что он хранит std::string где-то. Следовательно, назначение или копирование должно происходить где-то. И для…
28 июл '11 в 18:40
3
ответа
Попробуйте /Catch или IF для обработки отсутствующих файлов?
Лучше ли пытаться / ловить исключения или использовать операторы if для обработки разных результатов? Я пишу короткую программу на Java, чтобы скопировать файлы для удобства, и использую if для обработки события, когда файл не существует, и объявляю…
21 май '11 в 02:49
1
ответ
Спецификации исключений при выводе из std::exception в C++11
У меня есть класс исключения следующим образом: #include <exception> struct InvalidPathException : public std::exception { explicit InvalidPathException() {} const char* what() const; }; const char* InvalidPathException::what() const { return …
26 ноя '10 в 04:44
2
ответа
Спецификация исключений в C++ - обработка недопустимых исключений
Каково стандартное поведение в случаях, когда функция выдает исключение, отсутствующее в допустимом списке исключений? Например, когда я запускаю этот код: #include <iostream> #include <cstdlib> using namespace std; void NotLegal() throw…
19 июн '12 в 08:45
3
ответа
Как избавиться от предупреждения "игнорируется спецификация исключений C++"
Я недавно получил DLL, которая была реализована другими. Я должен использовать это в моем приложении. В заголовочном файле их класса у них есть объявление функции void func1() throw (CCustomException); Теперь, когда я компилирую, получаю предупрежде…
29 июн '10 в 13:06
1
ответ
Typeinfo для ocl::CRException
Я пытался запустить свою программу на C++ с использованием g++, но получаю следующее исключение: "typeinfo for ocl:: CRException" использую пространство имен ocl, содержащее класс CRException. Пожалуйста, помогите мне в этом. Вот код, в который я вк…
26 мар '13 в 14:54
1
ответ
Почему std::map find() не объявлено как noexcept?
Стандарт C++14 определяет функции-члены find() std::map следующее: iterator find(const key_type& x); const_iterator find(const key_type& x) const; Почему эти функции не определены как noexcept? Что могло бы пойти не так внутри, что потребова…
06 янв '16 в 16:52
2
ответа
Какова спецификация исключения для дефолтного виртуального деструктора в C++11?
Предположим, у меня есть: class Foo { public: virtual ~Foo()=default; }; Что такое спецификация исключения для дефолтного деструктора? Является ли дефолтный деструктор эквивалентным: virtual ~Foo() {}; or virtual ~Foo() throw() {}; or virtual ~Foo()…
24 май '12 в 04:25
3
ответа
Можно ли предоставить исключения в C++ виртуального (чистого) члена класса?
Если так, как? Я знаю, как предоставить спецификации исключений для таких членов, как class SOMEClass { public: void method(void) throw (SOMEException); virtual void pure_method(void) = 0; }; Таким образом method только броски SOMEException, Если я …
26 мар '09 в 18:41
1
ответ
C++\CLI исключение спецификация не допускается
Я опытный неуправляемый разработчик C++, новичок в C++\CLI. Почему управляемый C++ не позволяет спецификацию исключений? Пример ссылки Какова лучшая практика для определения исключений, которые мои методы генерируют тогда?
03 июн '09 в 17:10