Login
C++ exceptions: за и против
NEW 26.06.07 22:24
Конкретно в этом случае как ты собрался исследовать причину?
Угу, а для этого переписывается огромное кол-во продуктивного кода, для чего нанимается еще столько же людей, сколько уже работают...
Это да.
Опять тебя заносит... Важно, что объект не будет создан, если исключение бросается из к-ра, а в твоем случае он создан будет, и это неправильно.
in Antwort Murr 26.06.07 22:09
В ответ на:
Затем, что возникновение ошибки есть ситуация не нормальная - подлежит исследованию на предмет причины возникновения и доработке на предмет устранения - что затруднительно, не зная где оно возникло...
Затем, что возникновение ошибки есть ситуация не нормальная - подлежит исследованию на предмет причины возникновения и доработке на предмет устранения - что затруднительно, не зная где оно возникло...
Конкретно в этом случае как ты собрался исследовать причину?
В ответ на:
Ексептион кэтчится на заданном уровне, устраняется причина, при возможности - пересоздается объект и все продолжает работать как если бы ситуации не возникало... и это - без всяких глупостей с проверками на ноль...
Ексептион кэтчится на заданном уровне, устраняется причина, при возможности - пересоздается объект и все продолжает работать как если бы ситуации не возникало... и это - без всяких глупостей с проверками на ноль...
Угу, а для этого переписывается огромное кол-во продуктивного кода, для чего нанимается еще столько же людей, сколько уже работают...
В ответ на:
Не скажу за все - возможно, что где-то, например, когда длл-ка "исполняется" как отдельная задача, есть смысл для такого ограничения.
У меня, однако, гораздо чаще ситуация, когда расширяется объект из длл-ки - так что без этого - никак.
Не скажу за все - возможно, что где-то, например, когда длл-ка "исполняется" как отдельная задача, есть смысл для такого ограничения.
У меня, однако, гораздо чаще ситуация, когда расширяется объект из длл-ки - так что без этого - никак.
Это да.
В ответ на:
Да ну? Я вот как-то привык к тому, что выбрасываемое исключение, если уж оно выпало, т.е. не обработано/разрезолвлено, из конструктора, содержит не "смещение в коде относительно соответствующего сегмента", а нормальное описание проблемы - в конструкторе класса такого-то, невозможно создать агрегированный объект такой-то, по причине... дальше идет описание проблемы возникшей в конструкторе или методе агрегированного объекта... и т.п. Чем более полная и точная информация получается - тем проще понять что именно не так и устранить причину проблемы.
Да ну? Я вот как-то привык к тому, что выбрасываемое исключение, если уж оно выпало, т.е. не обработано/разрезолвлено, из конструктора, содержит не "смещение в коде относительно соответствующего сегмента", а нормальное описание проблемы - в конструкторе класса такого-то, невозможно создать агрегированный объект такой-то, по причине... дальше идет описание проблемы возникшей в конструкторе или методе агрегированного объекта... и т.п. Чем более полная и точная информация получается - тем проще понять что именно не так и устранить причину проблемы.
Опять тебя заносит... Важно, что объект не будет создан, если исключение бросается из к-ра, а в твоем случае он создан будет, и это неправильно.
No,
look. I do mind. The Dude minds. This will not stand, ya know, this will not stand, man. (c)
Все о бильярде

26.06.07 22:54
in Antwort Simple 26.06.07 22:24
Конкретно в этом случае как ты собрался исследовать причину?
------
??? - bad_alloc? У тебя только простые объекты? Или все же что-то достаточно сложное?
Если у тебя вся проблема только в одном вызове - malloc/calloc - перегрузи new и забудь об ней.
Вот когда ты перестанешь понимать, в каком конкретно месте получается нехватка памяти -
тогда вернешься к Исключениям и их причинам.
для этого переписывается огромное кол-во продуктивного кода
------
Разумеется. Только это - аргумент Шефа. Мало того, придется нанимать не в двое, а, примерно, в трое (цифра - пока без объяснений) больше людей.
Важно, что объект не будет создан, если исключение бросается из к-ра, а в твоем случае он создан будет, и это неправильно.
------
Ты опять - читаешь или где? Прямо же написано - пойман Эксептион и устранена, если она может быть устранена, причина, затем объект пересоздан. Если причина не может быть устранена - в новом Эксептионе дается детальное описание проблемы, а объект, как ему и положено, не создается. Кроме этого - при необходимости - нормально, т.е. вызовом деструкторов, прибиваются все созданные агрегированные и связанные, например - в других процессах, объекты, к которым просто невозможно, хранится - хандле, другим способом добраться.
------
??? - bad_alloc? У тебя только простые объекты? Или все же что-то достаточно сложное?
Если у тебя вся проблема только в одном вызове - malloc/calloc - перегрузи new и забудь об ней.
Вот когда ты перестанешь понимать, в каком конкретно месте получается нехватка памяти -
тогда вернешься к Исключениям и их причинам.
для этого переписывается огромное кол-во продуктивного кода
------
Разумеется. Только это - аргумент Шефа. Мало того, придется нанимать не в двое, а, примерно, в трое (цифра - пока без объяснений) больше людей.
Важно, что объект не будет создан, если исключение бросается из к-ра, а в твоем случае он создан будет, и это неправильно.
------
Ты опять - читаешь или где? Прямо же написано - пойман Эксептион и устранена, если она может быть устранена, причина, затем объект пересоздан. Если причина не может быть устранена - в новом Эксептионе дается детальное описание проблемы, а объект, как ему и положено, не создается. Кроме этого - при необходимости - нормально, т.е. вызовом деструкторов, прибиваются все созданные агрегированные и связанные, например - в других процессах, объекты, к которым просто невозможно, хранится - хандле, другим способом добраться.
NEW 26.06.07 23:32
Естественно. Как и то, что никто этого делать не будет, вот и вся любовь :)
in Antwort Murr 26.06.07 22:54
В ответ на:
Разумеется. Только это - аргумент Шефа.
Разумеется. Только это - аргумент Шефа.
Естественно. Как и то, что никто этого делать не будет, вот и вся любовь :)
NEW 27.06.07 01:52
in Antwort Simple 26.06.07 23:32
никто этого делать не будет
-----
Значит у работничков будет в три раза больше работы. Только и делов-то...
-----
Значит у работничков будет в три раза больше работы. Только и делов-то...

NEW 27.06.07 17:39
in Antwort Simple 27.06.07 09:34
Нее, батенька, дануегонах...
Бо, я только что спрыгнул с точно такого же проекта... Довел до релиза и ушел.
Шеф, изначально, выделил _три_ дня на переход. Я сказал, что невозможно.
После этого лимит был увеличен до... 10 рабочих дней. Т.е. до двух недель
при 10 рабочих часах в день... Я не стал спорить - срок все одно не реальный -
но сказал коллегам, что что-то реальное может быть на выходе через, примерно,
три месяца. Реально до релиза прошло почти 4 месяца...
Бо, я только что спрыгнул с точно такого же проекта... Довел до релиза и ушел.
Шеф, изначально, выделил _три_ дня на переход. Я сказал, что невозможно.
После этого лимит был увеличен до... 10 рабочих дней. Т.е. до двух недель
при 10 рабочих часах в день... Я не стал спорить - срок все одно не реальный -
но сказал коллегам, что что-то реальное может быть на выходе через, примерно,
три месяца. Реально до релиза прошло почти 4 месяца...
NEW 30.06.07 01:05
in Antwort Simple 26.06.07 15:56
>Шеф против исключений
Это ключевая фраза.
. Исключения не нужны 
Немецкого шефа переубеждать смысла нет, проверено на собственном опыте.
Это ключевая фраза.


Немецкого шефа переубеждать смысла нет, проверено на собственном опыте.
