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

浙江建设集团网站首页域名可以同时做邮箱和网站么

浙江建设集团网站首页,域名可以同时做邮箱和网站么,有哪些官网做得比较好,怎么在网络上推广exceptionType是异常类型#xff0c;它指明了当前的 catch 可以处理什么类型的异常#xff1b;variable是一个变量#xff0c;用来接收异常信息。当程序抛出异常时#xff0c;会创建一份数据#xff0c;这份数据包含了错误信息#xff0c;程序员可以根据这些信息来判断到…exceptionType是异常类型它指明了当前的 catch 可以处理什么类型的异常variable是一个变量用来接收异常信息。当程序抛出异常时会创建一份数据这份数据包含了错误信息程序员可以根据这些信息来判断到底出了什么问题接下来怎么处理。 异常既然是一份数据那么就应该有数据类型。C 规定异常类型可以是 int、char、float、bool 等基本类型也可以是指针、数组、字符串、结构体、类等聚合类型。C 语言本身以及标准库中的函数抛出的异常都是 exception 类或其子类的异常。也就是说抛出异常时会创建一个 exception 类或其子类的对象。 exceptionType variable和函数的形参非常类似当异常发生后会将异常数据传递给 variable 这个变量这和函数传参的过程类似。当然只有跟 exceptionType 类型匹配的异常数据才会被传递给 variable否则 catch 不会接收这份异常数据也不会执行 catch 块中的语句。换句话说catch 不会处理当前的异常。 我们可以将 catch 看做一个没有返回值的函数当异常发生后 catch 会被调用并且会接收实参异常数据。 catch 和真正的函数调用的区别 真正的函数调用形参和实参的类型必须要匹配或者可以自动转换否则在编译阶段就报错了。而对于 catch异常是在运行阶段产生的它可以是任何类型没法提前预测所以不能在编译阶段判断类型是否正确只能等到程序运行后真的抛出异常了再将异常类型和 catch 能处理的类型进行匹配匹配成功的话就“调用”当前的 catch否则就忽略当前的 catch。总起来说catch 和真正的函数调用相比多了一个「在运行阶段将实参和形参匹配」的过程。 另外需要注意的是如果不希望 catch 处理异常数据也可以将 variable 省略掉也即写作 try{// 可能抛出异常的语句 }catch(exceptionType){// 处理异常的语句 }这样只会将异常类型和 catch 所能处理的类型进行匹配不会传递异常数据了。 多级 catch 一个 try 对应一个 catch这只是最简单的形式。其实一个 try 后面可以跟多个 catch try{//可能抛出异常的语句 }catch (exception_type_1 e){//处理异常的语句 }catch (exception_type_2 e){//处理异常的语句 } //其他的catch catch (exception_type_n e){//处理异常的语句 }当异常发生时程序会按照从上到下的顺序将异常类型和 catch 所能接收的类型逐个匹配。一旦找到类型匹配的 catch 就停止检索并将异常交给当前的 catch 处理其他的 catch 不会被执行。如果最终也没有找到匹配的 catch就只能交给系统处理终止程序的运行。 多级 catch 的使用 #include iostream #include string using namespace std;class Base{ }; class Derived: public Base{ };int main(){try{throw Derived(); //抛出自己的异常类型实际上是创建一个Derived类型的匿名对象coutThis statement will not be executed.endl;}catch(int){coutException type: intendl;}catch(char *){coutException type: cahr *endl;}catch(Base){ //匹配成功向上转型coutException type: Baseendl;}catch(Derived){coutException type: Derivedendl;}return 0; }运行结果 Exception type: Base 在 catch 中我们只给出了异常类型没有给出接收异常信息的变量。 本例中我们定义了一个基类 Base又从 Base 派生类出了 Derived。抛出异常时我们创建了一个 Derived 类的匿名对象也就是说异常的类型是 Derived。 我们期望的是异常被catch(Derived)捕获但是从输出结果可以看出异常提前被catch(Base)捕获了这说明 catch 在匹配异常类型时发生了向上转型Upcasting。 catch 在匹配过程中的类型转换 C/C 中存在多种多样的类型转换以普通函数非模板函数为例发生函数调用时如果实参和形参的类型不是严格匹配那么会将实参的类型进行适当的转换以适应形参的类型这些转换包括 算数转换例如 int 转换为 floatchar 转换为 intdouble 转换为 int 等。 向上转型也就是派生类向基类的转换。 const 转换也即将非 const 类型转换为 const 类型例如将 char * 转换为 const char *。 数组或函数指针转换如果函数形参不是引用类型那么数组名会转换为数组指针函数名也会转换为函数指针。 用户自定的类型转换。 catch 在匹配异常类型的过程中也会进行类型转换但是这种转换受到了更多的限制仅能进行「向上转型」、「const 转换」和「数组或函数指针转换」其他的都不能应用于 catch。 const 转换以及数组和指针的转换 #include iostream using namespace std;int main(){int nums[] {1, 2, 3};try{throw nums;coutThis statement will not be executed.endl;}catch(const int *){coutException type: const int *endl;}return 0; }运行结果 Exception type: const int *nums 本来的类型是int [3]但是 catch 中没有严格匹配的类型所以先转换为int *再转换为const int *。
http://www.zqtcl.cn/news/177509/

相关文章:

  • 黄石公司做网站临湘做网站
  • 网站配色购物网站开发背景需求
  • 河北省建设工程教育网站如何在手机上制作app软件
  • 担保公司网站建设汇报wordpress修改默认域名
  • 网站平台建设需要多少钱html网站标题怎么做的
  • 国外的服务器网站wordpress 博客论坛
  • 多国语言网站模板修改wordpress登录密码
  • 给周杰伦做网站广州免费景点
  • 网站文章不显示淄博网站建设及托管
  • 国外免费建站平面广告设计案例
  • 微信微网站开发价格广西做网站的公司有哪些
  • 做网站内容哪家公司可以做网站
  • 网站后台数据库管理经常浏览不良网站会被记录吗
  • 做加工都在哪个网站推广网络营销外包推广
  • 做英文网站怎么赚钱经典logo设计案例分析
  • 大型建站公司是干嘛的wordpress激活码充值
  • 带后台网站模板wordpress注册模板
  • 济南城乡住房建设厅网站dedecms企业网站
  • 旅游网站怎么做才能被关注园林景观设计公司名字
  • 建站之星网站建设系统事业单位网站登录模板
  • 如何做京东优惠券网站建设银行网站储蓄账户查询密码
  • 月付购物网站建站方维网络科技有限公司
  • 广东外贸网站建设企业手写代码网站
  • 信誉好的菏泽网站建设自己做网站一定要实名吗
  • 头像网站模板长春建工集团官网
  • 微信网站建设费用网站建设评价标准
  • 济宁市建设工程招投标网站购物网站建设图标大全
  • 婚恋网站制作网站建设服务案例
  • 学校 网站建设 报销discuz做网站赚钱经历
  • 上海做高端网站制小吃加盟招商方案