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

怎么选择锦州网站建设wordpress注册登陆

怎么选择锦州网站建设,wordpress注册登陆,团购产品 网站建设,哪里有网站建设加工16.1 异常的基本语法 1#xff09; 若有异常则通过throw操作创建一个异常对象并抛掷。2#xff09; 将可能抛出异常的程序段嵌在try块之中。控制通过正常的顺序执行到达try语句#xff0c;然后执行try块内的保护段。3#xff09; 如果在保护段执行期间没有引起异常#xf…16.1 异常的基本语法 1 若有异常则通过throw操作创建一个异常对象并抛掷。2 将可能抛出异常的程序段嵌在try块之中。控制通过正常的顺序执行到达try语句然后执行try块内的保护段。3 如果在保护段执行期间没有引起异常那么跟在try块后的catch子句就不执行。程序从try块后跟随的最后一个catch子句后面的语句继续执行下去。4 catch子句按其在try块后出现的顺序被检查。匹配的catch子句将捕获并处理异常或继续抛掷异常。5 如果匹配的处理器未找到则运行函数terminate将被自动调用其缺省功能是调用abort终止程序。6处理不了的异常可以在catch的最后一个分支使用throw语法向上扔。7异常机制与函数机制互不干涉但捕捉的方式是基于类型匹配。捕捉相当于函数返回类型的匹配而不是函数参数的匹配所以捕捉不用考虑一个抛掷中的多种数据类型匹配问题8异常捕捉严格按照类型匹配 完整示例代码 #include iostreamusing namespace std;int Div(int x, int y) {if (0 y){//return -1;//throw 0; //抛出异常throw a;}return x / y; }int main() {int a, b;cin a b;try { //把可能抛出异常的代码放在try语句中cout Div(a, b) endl;}catch(int) // throw 0;{cout zero exception endl;}catch(char) // throw a{cout char exception endl;}return 0; }运行结果 16.2 异常处理的基本思想 16.2.1 传统的错误处理机制通过函数返回值处理错误 例如常见的return -1; 16.2.2 异常处理思想 1C的异常处理机制使得异常的引发和异常的处理不必在同一个函数中这样底层的函数可以着重解决具体问题而不必过多的考虑异常的处理。上层调用者可以在适当的位置设计对不同类型异常的处理。2异常是专门针对抽象编程中的一系列错误处理的C中不能借助函数机制因为栈结构的本质是先进后出依次访问无法进行跳跃但错误处理的特征却是遇到错误信息就想要转到若干级之上进行重新尝试如图 3异常超脱于函数机制决定了其对函数的跨越式回跳。4异常跨越函数 完整示例代码 #include iostreamusing namespace std;int DDiv(int x, int y) {if (0 y){throw 0; // 可以跨越函数不用在他的上一级语句判断函数返回值}return x / y; }int Div(int x, int y) {/*int ret DDiv(x, y);if (0 ret){ }else{}*/return DDiv(x, y); }int main() {int a, b;cin a b;try{ //把可能抛出异常的代码放在try语句中cout Div(a, b) endl;}catch(int){cout zero exception endl;}catch (char){cout char exception endl;}return 0; }运行结果 16.3 异常接口声明 1为了加强程序的可读性可以在函数声明中列出可能抛出的所有异常类型例如 void func() throw (A, B, C , D); //这个函数func能够且只能抛出类型A B C D及其子类型的异常。 2如果在函数声明中没有包含异常接口声明则次函数可以抛掷任何类型的异常例如void func(); 3一个不抛掷任何类型异常的函数可以声明为void func() throw(); 4 如果一个函数抛出了它的异常接口声明所不允许抛出的异常unexpected函数会被调用该函数默认行为调用terminate函数中止程序。 完整示例代码 #include iostreamusing namespace std;int Div(int x, int y) throw(int, char); //只能抛出整形或者字符型异常 //int Div(int x, int y) throw(); //不会抛出任何类型异常 //int Div(int x, int y); //可能抛出任何类型的异常int main() {int a, b;cin a b;try{ //把可能抛出异常的代码放在try语句中cout Div(a, b) endl;}catch(int){cout zero exception endl;}catch (char){cout char exception endl;}return 0; }int Div(int x, int y) throw(int, char) {if (0 y){//return -1;//throw 0; //抛出异常throw a;}return x / y; }运行结果 16.4 异常类型和异常变量的生命周期 16.4.1 传统处理错误 16.4.2 throw int类型异常 16.4.3 throw字符类型异常 16.4.4 throw类对象类型异常 完整示例代码 #include iostreamusing namespace std;class Test { public:Test(){ cout Test构造函数 endl;}Test(const Test t){cout Test拷贝构造函数 endl;}void print(){cout Test Exceotion endl;}~Test(){cout Test析构函数 endl;} };int Div(int x, int y) {if (0 y){throw Test(); //抛出对象//throw new Test; //抛出对象指针}return x / y; }int main() {int a, b;cin a b;try{ //把可能抛出异常的代码放在try语句中cout Div(a, b) endl;}catch(int){cout zero exception endl;}catch (char){cout char exception endl;}/*catch (Test t) //调用拷贝构造函数{t.print();}*/catch (Test t) //抛出对象通过引用来接推荐{ t.print();}catch (Test *t){t-print();delete t; //需要手动释放}return 0; }运行结果 16.5 标准程序库异常 示例代码 #include iostream #include exceptionusing namespace std;int main() {try{int *p new int[-1];}catch (exception e){cout e.what() endl;}return 0; }运行结果
http://www.hkea.cn/news/14356160/

相关文章:

  • 移动的网络网站建设成都网页设计招聘
  • 福田网站建设制作建设网站总经理讲话范本
  • 杭州认证网站建设一台vps主机可以建设多少个网站
  • 万网提供的网站建设服务的具体项目网站建设及解决方案
  • 网站关键词排名优化技巧美橙网站建设教程
  • 宁波网站建设xpckj网站页头
  • 外贸网站 源码网站建设一点通
  • 网站建设相关行业有哪些制作自己的网站需要什么软件好
  • 安阳哪里有做网站的快速建站开源
  • 网站制作免费安徽专业做网站的大公司
  • 私人定制网站建设织梦如何做网站
  • 西柏坡门户网站建设规划书dw做网站怎么设置页面音乐
  • 长沙精品网站制作德州做网站建设的公司
  • 闵行网站建设哪家好wordpress 主题 免费
  • 私人精品货源网站有哪些网店推广运营
  • 宝安网站多少钱易企网站建设
  • 在线视频制作网站专门做羽毛球的网站
  • 网站建设相关资料湖北住房城乡建设厅网站首页
  • 国家免费培训网站服装设计官网
  • 怎么加入网站做微商城口碑好的扬州网站建设
  • 盘锦网站建设报价济南建筑设计公司
  • 学平面设计的网站简述网站建设小组的五类成员
  • 自己做网站卖仿货百度推广营销中心
  • 佛山网站建设的品牌宁波网站建设优化服务公司
  • cpa自己做网站wordpres做视频网站
  • 广州教育网站建设常州建设局考试网站
  • 高校网站建设意义网站报错 500
  • 购物网站支付页面制作做网站怎么发布
  • 做网站百度推广多少钱网站的落地页
  • 网站跳出率什么意思团购做的好的网站