и как они взаимодействуют с ОСью? Чтоб я знал, есть смысл всякие контейнеры в try catch тащить или нет? Я в продакшене не видел чтоб стандартные контейнеры тащили в try catch'ы для обработки bad alloc'ов
                  
                  
                
всем пофигу на bad_alloc
 Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Потому что ОЗУ дешева и надо брать с запасом? По сути, в продакшене все же рухнуть может из-за этого
потому что если bad_alloc случился, в 99% случаев ты ничего не сделаешь с этим
 Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  В общем, остается не париться и просто брать озу с запасом?
ну почему? можно вывести "админ, метнись за планкой ОЗУ, я пока покурю" :)
 Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  В Си например возвращали через return коды ошибок и просто в такой момент, когда памяти не хватает, по сути программа продолжала работать, но нехватка памяти не позволяла создавать больше объектов к примеру
 Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Так а если bad alloc уже словил или в продакшене это тоже не критично?
добавлю себе catch с такой формулировкой
я ловлю, но не падаю, например, наши директора любят кубы крутить на клиенте. я им вполне разумно отвечаю - офигели?
 Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Ловишь даже для stl контейнеров? Получается, каждый emplace надо мазать try/catch'ами или обертку пилили?
что-то похожее, лайтовое
 Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Я вот тоже так собирался делать, пока мне не наплели про робин гуда в ОСи, который забирает память у богатых и отдает нищим
ну и что ты сделаешь, если кончилась память под контейнер? поймаешь bad_alloc, а потом..? выбросишь другое исключение? ладно, если это какой-то неглубокий коллстэк, где можно сказать "сорри, памяти нет", а если это где-то в дебрях программы, где дальнейший код рассчитывает на успешное добавление в вектор, например, то ловить нет смысла
 Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Нет, ограничу функционал, верну код ошибки, программа продолжит выполняться, просто ты не получишь результат от какой то функции
зависит от программы, если у тебя http сервер то можешь кинуть 500 и будет ретрай, и т п
Нет, не надо ничего обмазывать
 Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Roy
                          Mustang
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  О, рад видеть!
Обсуждают сегодня