当前位置: 首页 > news >正文

昆明建站公司推荐六安网站建设全包

昆明建站公司推荐,六安网站建设全包,wordpress分类更改,做网站客户不给钱怎么办初步警告:异常安全功能不完整!一般情况下应该可以工作#xff0c;但类仍然可能泄漏甚至崩溃。 Qt本身不会抛出异常。而是使用错误码, 但是C可能会抛出异常。此外#xff0c;有些类有用户可见的错误消息#xff0c;例如QIODevice::errorString()或QSqlQuery::lastError()。这…初步警告:异常安全功能不完整!一般情况下应该可以工作但类仍然可能泄漏甚至崩溃。 Qt本身不会抛出异常。而是使用错误码, 但是C可能会抛出异常。此外有些类有用户可见的错误消息例如QIODevice::errorString()或QSqlQuery::lastError()。这有历史和现实的原因——打开异常可能会使库的大小增加20%以上。 下面几节将描述Qt在编译时启用异常支持时的行为。 容器 Qt的容器类通常是异常中立的。它们将在包含的类型T中发生的任何异常传递给用户同时保持内部状态有效。 例子: QListQString list; ... try {list.append(hello); } catch (...) { } // list is safe to use - the exception did not affect it. 抛出异常的容器类型可能是在在赋值或复制构造期间。对于这些类型修改容器并返回值的函数使用起来是不安全的: MyType s list.takeAt(2); 在赋值s期间发生异常因为赋值给s之前,索引2处的值已经从容器中移除。它已经被丢弃没有恢复的机会。 正确的写法是: MyType s list.at(2); list.removeAt(2); 如果赋值操作抛出容器仍将包含该值;无数据丢失。 注意隐式共享Qt类不会抛出它们的赋值操作符或复制构造函数因此上面的限制不适用。 内存不足处理 大多数桌面操作系统都过度使用内存。这意味着即使在分配内存时没有足够的可用内存malloc()或new运算符也会返回一个有效的指针。在这种系统上不会抛出std::bad_alloc类型的异常。 在其他所有操作系统上如果任何内存分配失败Qt都会抛出类型为std::bad_alloc的异常。如果系统内存不足或者没有足够的连续内存来分配请求的大小那么分配可能会失败。 该异常情况有文档说明。例如如果内存不足QImage构造函数将创建一个null图像而不是抛出异常。 从异常中恢复 目前从Qt中抛出的异常(例如内存不足)中恢复的唯一支持用例是退出事件循环并在退出应用程序之前进行一些清理。 典型用例: QApplication app(argc, argv); ... int ret; try {ret app.exec(); } catch (const std::bad_alloc ) {// clean up here, e.g. save the session// and close all config files.return EXIT_FAILURE; // exit the application } ... return ret; 抛出异常后与窗口服务器的连接可能已经关闭。在捕获异常后调用GUI相关函数是不安全的。 客户端代码中的异常 信号与槽位 从Qt的信号槽连接机制调用的槽中抛出异常被认为是未定义的行为除非它在槽内处理: State state; StateListener stateListener;// OK; the exception is handled before it leaves the slot. QObject::connect(state, SIGNAL(stateChanged()), stateListener, SLOT(throwHandledException())); // Undefined behaviour; upon invocation of the slot, the exception will be propagated to the // point of emission, unwinding the stack of the Qt code (which is not guaranteed to be exception safe). QObject::connect(state, SIGNAL(stateChanged()), stateListener, SLOT(throwUnhandledException())); 如果像常规函数调用一样直接调用槽则可能使用异常。这是因为直接调用槽时绕过了连接机制: State state; StateListener stateListener;// ...try {// OK; invoking slot directly.stateListener.throwException(); } catch (...) {qDebug() Handling exception not caught in slot.; } Exception Safety | Qt 5.15
http://www.pierceye.com/news/964573/

相关文章:

  • 玻璃钢产品哪个网站做推广好.加强网站安全建设
  • 扬州公司网站建设网络建设与管理包括哪些方面
  • 我的网站域名福州网站的优化
  • 威海市网站建设微信在线登录平台
  • 2014网站设计成都网站设计合理柚v米科技
  • 建设自己网站需要多钱网站规划与设计就业
  • 用flash做的网站欣赏手机网站图片切换jquery
  • 昆明做网站seo网站推广策略什么时候
  • 网站添加 百度商桥wordpress 友情链接 代码
  • 一鸿建设设计网站百家号排名
  • 网站最新一次改版时间什么意思电商平台应该如何推广
  • 网站设计制作程序网站开发列表
  • 企业网站建设需要哪些费用做算法的网站
  • 很大气的网站 营销js特效网站展示
  • 南宁建站程序成都新线加网站建设
  • 用微软雅黑做网站可以吗wordpress游客发帖插件
  • 网站备案怎样提交管局网页电商设计
  • 郑州华恩科技做网站怎么样网络竞价推广托管公司
  • 都江堰住房和城乡建设厅网站哈尔滨网站建设方案维护
  • 九江网站网站建设原始传奇经典复古
  • 宽屏营销型网站源码安微省住房和城乡建设厅网站
  • 做暖视频网站免费搜索引擎营销的模式有
  • 网站建设需要的条件榆林北京网站建设
  • 分类信息网站推广的意义wordpress安装教程wamp
  • 免费自助建站全系统建设银行永泰支行网站
  • 建网络商城网站如何开公司做网站
  • 长春网站制作色块网站设计
  • 通明建设网站网站怎么黑
  • 学校网站怎么查询录取html5浏览器
  • 网站开发 技术问题页面模版 公众号