Описание тега exception-safe
5
ответов
Исключительная безопасность - когда, как, почему?
Я просто начинающий программист, который, по крайней мере, пытается программировать больше, чем в лучшем случае. Я читал "Исключительный C++" Херба Саттера и трижды проходил главы, посвященные безопасности исключений. Однако, исключая приведенный им…
19 дек '10 в 11:51
4
ответа
Это хороший вариант использования std::auto_ptr<>?
Пожалуйста, предположим, у меня есть функция, которая принимает указатель в качестве параметра. Эта функция может генерировать исключение, так как она использует std::vector<>::push_back() управлять жизненным циклом этого указателя. Если я объ…
22 ноя '09 в 03:33
1
ответ
Сбой инициализации unique_ptr<>()?
Из документации std:: unique_ptr<> (), что может произойти при инициализации указателя, мне неясно. При выделении std::shared_ptr<>(), он выделяет буфер памяти для обработки счетчика ссылок. Так что я могу получить std::bad_alloc исключение. М…
06 ноя '16 в 05:47
2
ответа
Безопасное использование std::tr1::shared_ptr
Этот подход небезопасен? #include <tr1/memory> Foo * createFoo() { return new Foo(5); } int main() { std::tr1::shared_ptr<Foo> bar(create()); return 0; } Или это было бы предпочтительнее для createFoo вернуть shared_ptr<Foo> объект?
07 апр '11 в 20:32
2
ответа
Может ли в стеке быть безопасный метод исключения и возврата и удаления верхнего элемента с семантикой перемещения?
В ответе на вопрос о std::stack::pop() Я утверждал, что причина pop не возвращает значение по соображениям безопасности (что происходит, если конструктор копирования выдает). Konrad Rudolph отметил, что теперь с семантикой перемещения это уже не акт…
12 апр '10 в 06:58
3
ответа
Можно ли иметь реализацию члена для обмена броском?
Общая рекомендация при написании классов (с использованием идиомы копирования и обмена) заключается в предоставлении функции-члена без броска свопинга. ( Действующий C++, 3-е издание, пункт 25 и другие ресурсы) Однако что, если я не могу предоставит…
05 окт '11 в 12:38
2
ответа
Исключительная безопасность / обработка с.Net HtmlTextWriter?
Я использую.Net HtmlTextWriter генерировать HTML. try { htw.RenderBeginTag( HtmlTextWriterTag.Span ); htw.Write(myObject.GenerateHtml()); htw.RenderEndTag( ); } catch (Exception e) { GenerateHtmlErrorMessage(htw); } В этом примере, если исключение о…
13 ноя '08 в 09:26
6
ответов
Является ли синхронизированное ключевое слово безопасным от исключений?
Возможный дубликат: Побочные эффекты бросания исключения внутри синхронизированного предложения? Мне интересно, если synchronized исключение безопасно? Скажем, в синхронизированном блоке происходит необработанное исключение, будет ли снята блокировк…
06 дек '11 в 00:35
3
ответа
Как мне описать метод, который не имеет побочных эффектов, если во время выполнения выдается исключение?
Я просто не могу вспомнить терминологию, используемую для этого и других связанных свойств. РЕДАКТИРОВАТЬ - Может быть, такой концепции не существует, но я помню, как читал что-то в Effective C++ (или More Effective C++), где он выступал за использо…
12 ноя '08 в 10:14
1
ответ
Scope Guard Statement в C#
Идиома Resource Acquisition Is Initialization (RAII) и оператор try-finally составляют основу традиционных подходов к написанию безопасного программирования исключений. Мой вопрос: есть ли что-то вроде ScopeGuardStatement на C#?
11 дек '12 в 23:33
2
ответа
Почему `myvector.push_back(autoPtr.release())` обеспечивает строгую гарантию безопасности исключений?
РЕДАКТИРОВАТЬ: я должен был упомянуть, я искал документацию для Boost's ptr_sequence_adapter и он утверждает, что их адаптер для template< class U > void push_back( ::std::auto_ptr<U> x ); эквивалентно делать vec.push_back(autoPtr.releas…
08 авг '10 в 00:27
7
ответов
Является ли Try/ Наконец безопасным для исключений?
Допустим, у вас есть кусок кода вроде: resource = allocateResource(); try { /* dangerous code here */ } finally { free(resource); } Я не имею в виду какой-либо конкретный язык, но я думаю, что Java, C# и C++ были бы хорошими примерами (если вы испол…
04 июн '11 в 04:55
2
ответа
Пример исключения из гарантии безопасности правильный?
Я обсуждаю гарантии безопасности исключений и придумал пример, который, как мне кажется, дает строгую гарантию: template<typename E, typename LT> void strongSort(vector<E*> &data, LT lt) // works on pointers { vector<E*> temp {…
07 авг '11 в 12:30
4
ответа
Безопасно ли push_back "динамически выделенный объект" для вектора?
Всякий раз, когда мне нужно добавить динамически размещенный объект в вектор, я делаю это следующим образом: class Foo { ... }; vector<Foo*> v; v.push_back(new Foo); // do stuff with Foo in v // delete all Foo in v Это просто сработало, и мног…
15 ноя '10 в 14:37
3
ответа
Стандартные библиотечные функции C, включенные в C++, создают исключение?
В приведенном ниже коде автор указывает, что new operator Вызов функции может вызвать исключение, так что эта реализация не является безопасной для исключения, поскольку состояние объекта уже изменено в первой строке. String &String::operator =(…
08 мар '15 в 11:30
6
ответов
Откуда вы знаете все исключения, которые может выдать метод
Есть ли способ получить некоторые детали относительно аспектов безопасности исключений стандартных классов Java? В основном работая с C++ и C#, я запутался со спецификациями исключений Java, поэтому мне нужно понять, как правильно работать с исключе…
12 авг '11 в 23:20
1
ответ
Безопасное ведение журнала в Java
У меня (вероятно) странный вопрос о безопасном входе в систему в Java. Допустим, у меня есть этот код в Java: if (log.isDebugEnabled()) { log.debug(...expression...); } Существует ли передовая практика ведения журналатаким образом, чтобы любое исклю…
05 апр '23 в 15:02