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

个人怎么做微信公众号和微网站厦门seo优化多少钱

个人怎么做微信公众号和微网站,厦门seo优化多少钱,手机网站设计要求,做网站需要交接什么1. 异常 异常通常用于处理逻辑上可能发生的错误 在C98中#xff0c;提供了一套完善的异常处理机制#xff0c;直接在程序中将各种类型的异常抛出#xff0c;从而强制终止程序的运行。 1.1 基本语法 当函数抛出异常时#xff0c;程序会停止执行#xff0c;并显示异常信息…1. 异常 异常通常用于处理逻辑上可能发生的错误 在C98中提供了一套完善的异常处理机制直接在程序中将各种类型的异常抛出从而强制终止程序的运行。 1.1 基本语法 当函数抛出异常时程序会停止执行并显示异常信息。异常处理程序可以通过catch语句捕获并处理异常。如果程序没有捕获异常程序将终止。 在C中栈的解旋是在try块中的函数调用完毕后自动完成的。这意味着在try块中的函数调用可能会抛出异常但不会影响栈的解旋。在catch块中处理异常时栈的解旋会被暂停直到catch块处理完毕后栈的解旋才会恢复。 #include iostream using namespace std; void func() {int x 10;int* p x;*p 20;throw *p; }void catch_func(int a) {std::cout Caught exception: a std::endl; }int main() {try {func();} catch (int e) {catch_func(e);}return 0; } hehedaheheda:~/Linux/c11$ g 8.noexcept.cpp -o app hehedaheheda:~/Linux/c11$ ./app Caught exception: 20 【总结】noexcept | 爱编程的大丙 (subingwen.cn) 异常被抛出后从进入try块起到异常被抛掷前这期间在栈上构造的所有对象都会被自动析构。析构的顺序与构造的顺序相反。这一过程称为栈的解旋。----来自爱编程的大丙 1.2 异常接口声明 ① 显示指定可以抛出的异常类型 divide 函数后添加了 throw 异常接口声明其参数可以表示抛出的异常类型分别为 int 和 MyException 类型 #include iostream using namespace std;struct MyException {MyException(string str):msg(str) {}string msg; };double divide(int a, int b) throw(MyException,int) {if(b 0) {throw MyException(divide by zero);}return a / b; }int main() {try{double val divide(10, 0);cout value: val endl;}catch(int e) {cout catch except: e endl;}catch(MyException e) {cout catch except: e.msg endl;}return 0; } 运行结果  catch except: divide by zero ② 不抛出任何异常 #include iostream using namespace std;struct MyException {MyException(string str):msg(str) {}string msg; };double divide(int a, int b) throw() {if(b 0) {throw MyException(divide by zero);}return a / b; }int main() {try{double val divide(10, 0);cout value: val endl;}catch(int e) {cout catch except: e endl;}catch(MyException e) {cout catch except: e.msg endl;}return 0; } 在divide 函数后添加了throw异常接口声明其参数列表为空表示该函数不允许抛出异常 2. noexcept double divisionMethod(int a, int b) noexcept(常量表达式); ① 简单地在函数声明后加上 noexcept 关键字 ② 可以接受一个常量表达式作为参数常量表达式的结果会被转换成一个bool类型的值          - 值为 true表示函数不会抛出异常          - 值为 false表示有可能抛出异常这里          - 不带常量表达式的noexcept相当于声明了noexcepttrue即不会抛出异常 noexcept | 爱编程的大丙 (subingwen.cn) ----来自爱编程的大丙 在C11中弃用了例如上文的动态异常声明 throw(MyException, int)这一特性表示函数不会抛出异常的动态异常声明 throw() 也被新的 noexcept 异常声明所取代 noexcept是C11中引入的一个关键字用于指定函数抛出异常的情况。当函数声明中使用noexcept时编译器可以推断函数不会抛出异常从而提高代码的执行效率。 noexcept 与 throw动态异常声明的区别 ① 基于异常机制的throw()会带来一些额外的开销若出现函数抛出异常会导致函数栈被依次地展开栈解旋并自动调用析构函数栈上的所有函数 ② noexcept 修饰的函数如果抛出了异常编译器可以选择直接调用 std::terminate() 函数来终止程序的运行这比基于异常机制的 throw() 在效率上会高一些 #include iostream using namespace std; void func() noexcept {std::cout This function does not throw exceptions std::endl; }int main() {try {func();} catch (...) {std::cout Exception caught std::endl;}return 0; } 在这个例子中func函数使用noexcept关键字指定因此编译器可以推断出函数不会抛出异常从而提高代码的执行效率。而main函数中的func调用不会抛出异常因此程序可以正常运行。 #include iostream using namespace std;double divide(int a, int b) noexcept {if(b 0) {cout divide by zero!!! endl;return -1;}return a / b; }int main() {try{double val divide(10, 0);cout value: val endl;}catch(int e) {cout catch except: e endl;}return 0; } hehedaheheda:~/Linux/c11$ g -stdc11 8.noexcept.cpp -o app hehedaheheda:~/Linux/c11$ ./app divide by zero!!! value: -1
http://www.dnsts.com.cn/news/84766.html

相关文章:

  • 如何评价一个企业网站做的好wordpress 微软雅黑字体
  • 如何跳过网站会员网站建设好后为什么要维护
  • 合肥怎么做网站做的网站怎么查看点击率
  • 微网站模板建设宇舶手表网站
  • 织梦网站模板如何安装教程邮轮哪个网站是可以做特价胃肠的
  • 门头沟青岛网站建设网址域名查询官网
  • idea制作网站免费个人主页注册
  • 南联网站建设公司最近10条重大新闻
  • 百度站长平台安卓版青岛百度网站排名
  • 商标购买网站黑山网站建设
  • 金华网站建设luopan百度收录api怎么提交
  • 西南交通建设集团有限公司网站织梦dedecms5.6 网站搬家详细教程
  • 网站备案号被注销什么原因电脑做网站服务器教程
  • 网站建设大型快站app制作教程
  • dw怎么做别人可以看的网站无锡建设建设局网站
  • 电脑公司网站源码php庐江有做网站的吗
  • 衡水做wap网站费用太仓住房城乡建设网站
  • php做网站搜索框现在做网站用什么程序
  • 北京公司网站制作哪家专业国内知名企业网站
  • 天长做网站wordpress 亲子博客
  • 郑州哪家网站建设好简要描述网站开发过程
  • h5个人网站源码做一直播网站要多少钱
  • 个人电脑做外网网站平面设计网站有哪些
  • 模板自助建站网站制作坪山网站建设机构
  • 建设银行网站机构免费卖货平台
  • 广州培训网站建设商品展示介绍网站源码
  • 在centos做网站百度贴吧官网网页
  • 长清网站建设价格电商运营roi怎么算
  • 滕州助企网站建设手机app开发
  • 学院网站建设项目的成本计划书做网站后台怎么弄