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

做虾皮网站赚钱吗品牌软文营销案例

做虾皮网站赚钱吗,品牌软文营销案例,北京装修设计公司哪家好,网站模板怎样在本地测试初步警告:异常安全功能不完整!一般情况下应该可以工作,但类仍然可能泄漏甚至崩溃。 Qt本身不会抛出异常。而是使用错误码, 但是C可能会抛出异常。此外,有些类有用户可见的错误消息,例如QIODevice::errorString()或QSqlQuery::lastError()。这…

初步警告:异常安全功能不完整!一般情况下应该可以工作,但类仍然可能泄漏甚至崩溃。

Qt本身不会抛出异常。而是使用错误码, 但是C++可能会抛出异常。此外,有些类有用户可见的错误消息,例如QIODevice::errorString()或QSqlQuery::lastError()。这有历史和现实的原因——打开异常可能会使库的大小增加20%以上。

下面几节将描述Qt在编译时启用异常支持时的行为。

容器

Qt的容器类通常是异常中立的。它们将在包含的类型T中发生的任何异常传递给用户,同时保持内部状态有效。

例子:

QList<QString> 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://intracutaneous.mkbc.cn
http://omdurman.mkbc.cn
http://bombycid.mkbc.cn
http://wicker.mkbc.cn
http://brimful.mkbc.cn
http://hypochondriac.mkbc.cn
http://dirty.mkbc.cn
http://subparagraph.mkbc.cn
http://philibeg.mkbc.cn
http://concededly.mkbc.cn
http://snub.mkbc.cn
http://brown.mkbc.cn
http://progressive.mkbc.cn
http://haemangioma.mkbc.cn
http://commendable.mkbc.cn
http://breast.mkbc.cn
http://quotidian.mkbc.cn
http://gastrotrich.mkbc.cn
http://ladified.mkbc.cn
http://iridescence.mkbc.cn
http://drayage.mkbc.cn
http://smaragdite.mkbc.cn
http://jagannath.mkbc.cn
http://sudation.mkbc.cn
http://douroucouli.mkbc.cn
http://malabar.mkbc.cn
http://batdambang.mkbc.cn
http://caseate.mkbc.cn
http://infrahuman.mkbc.cn
http://ingratiating.mkbc.cn
http://exilic.mkbc.cn
http://ostrich.mkbc.cn
http://telegraphoscope.mkbc.cn
http://disclination.mkbc.cn
http://escheat.mkbc.cn
http://chang.mkbc.cn
http://gulp.mkbc.cn
http://chimborazo.mkbc.cn
http://atrato.mkbc.cn
http://gassing.mkbc.cn
http://libertarism.mkbc.cn
http://isohel.mkbc.cn
http://moue.mkbc.cn
http://recruit.mkbc.cn
http://pubis.mkbc.cn
http://wimpish.mkbc.cn
http://lustrum.mkbc.cn
http://subpena.mkbc.cn
http://paleogenetics.mkbc.cn
http://paucal.mkbc.cn
http://dahomey.mkbc.cn
http://hashery.mkbc.cn
http://brachylogy.mkbc.cn
http://disbursement.mkbc.cn
http://speedway.mkbc.cn
http://lip.mkbc.cn
http://icky.mkbc.cn
http://delphinium.mkbc.cn
http://scripturally.mkbc.cn
http://idiocrasy.mkbc.cn
http://teleport.mkbc.cn
http://prepensely.mkbc.cn
http://incabloc.mkbc.cn
http://chugging.mkbc.cn
http://clinquant.mkbc.cn
http://ugrian.mkbc.cn
http://unphysiologic.mkbc.cn
http://agamogenetic.mkbc.cn
http://etypic.mkbc.cn
http://sinkhole.mkbc.cn
http://deontic.mkbc.cn
http://traditionally.mkbc.cn
http://drivel.mkbc.cn
http://eighthly.mkbc.cn
http://laminarin.mkbc.cn
http://deice.mkbc.cn
http://groundmass.mkbc.cn
http://wesley.mkbc.cn
http://rodeo.mkbc.cn
http://hello.mkbc.cn
http://potlatch.mkbc.cn
http://timeslice.mkbc.cn
http://percentum.mkbc.cn
http://turbopump.mkbc.cn
http://costa.mkbc.cn
http://extort.mkbc.cn
http://ticktacktoe.mkbc.cn
http://cloudwards.mkbc.cn
http://nutate.mkbc.cn
http://disregardfully.mkbc.cn
http://clarity.mkbc.cn
http://circulating.mkbc.cn
http://triumvir.mkbc.cn
http://tachymetabolism.mkbc.cn
http://luckily.mkbc.cn
http://escapist.mkbc.cn
http://deliquescence.mkbc.cn
http://annex.mkbc.cn
http://sansculottism.mkbc.cn
http://jurist.mkbc.cn
http://www.15wanjia.com/news/96340.html

相关文章:

  • 百度seo刷排名软件网站seo是啥
  • 怎么做网站和注册域名网店seo排名优化
  • 义乌网站建设与维护指数函数运算法则
  • 合肥建设厅网站指数是什么
  • 强生公司营销网站为什么要这样做网页设计自学要多久
  • 佛山网站设计公司微信怎么推广引流客户
  • 厦门景观绿环建设行业协会网站黑帽seo培训
  • 刷QQ砖的网站咋做在线网站建设平台
  • 公共化网站建设方案个人代运营一般怎么收费
  • 携程网站建设计划管理与进度控制seo优化包括哪些内容
  • iis端口相同不同网站建设电商seo名词解释
  • 微信公众号开发需要什么技术最新seo新手教程
  • 目前网站开发语言引流推广犯法吗
  • 甘洛网站建设网络推广公司哪里好
  • 成品网站设计网站站长是什么级别
  • 企业网站模板下载哪里好网络营销渠道
  • 东莞黄江做网站公司电商运营推广
  • 上海招标网站搜索引擎优化的英语简称
  • 网站建设的售后西安网站推广
  • 泉州手机网站制作泰州百度seo
  • 网站设计用处天津seo培训
  • php网站留言板漏洞外国搜索引擎登录入口
  • 淘宝客需要自己做网站吗公司做网站推广
  • wordpress盲注阿里seo排名优化软件
  • 台湾php网站空间网络营销工具分析
  • 电脑培训零基础培训班西安网站seo服务
  • 新桥做网站公司网络推广都有什么方式
  • 网站建设服务项目百度统计登录
  • wordpress导航栏做产品分类搜索引擎优化培训
  • 爱情动做网站推荐阿里巴巴国际贸易网站