所以我在开发中经常使用 Qt 并且喜欢它。Qt 对象的通常设计模式是使用new
.
几乎所有示例(尤其是 Qt 设计器生成的代码)都绝对不检查std::bad_alloc
异常。由于分配的对象(通常是小部件等)很小,这几乎不是问题。毕竟,如果您未能分配 20 个字节之类的东西,那么您可能无法解决这个问题。
目前,我采用了在 try/catch 中包装“大”(大小超过一页或两页的任何内容)分配的策略。如果失败,我会向用户显示一条消息,几乎任何更小的消息,我都会让应用程序崩溃并出现std::bad_alloc
异常。
所以,我想知道这方面的思想流派是什么?
检查每项new
操作是否是好政策?还是只有我认为有可能失败的人?
此外,在处理资源可能受到更多限制的嵌入式环境时,这显然是一个完全不同的故事。我在桌面应用程序的上下文中询问,但也会对涉及其他场景的答案感兴趣。