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

网站建设公司合肥常见的一级域名com代表

网站建设公司合肥,常见的一级域名com代表,免费logo设计官网,wordpress主机推荐 阿里云异常是程序在执行期间产生的问题。C 异常是指在程序运行时发生的特殊情况#xff0c;比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。C 异常处理涉及到三个关键字#xff1a;try、catch、throw。throw: 当问题出现时#xff0c;程序会抛出一个异常。这是通过使…异常是程序在执行期间产生的问题。C 异常是指在程序运行时发生的特殊情况比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。C 异常处理涉及到三个关键字try、catch、throw。throw: 当问题出现时程序会抛出一个异常。这是通过使用 throw 关键字来完成的。catch: 在您想要处理问题的地方通过异常处理程序捕获异常。catch 关键字用于捕获异常。try: try 块中的代码标识将被激活的特定异常。它后面通常跟着一个或多个 catch 块。const throw() 不是函数这个东西叫异常规格说明表示 what 函数可以抛出异常的类型类型说明放到 () 里这里面没有类型就是声明这个函数不抛出异常通常函数不写后面的 throw() 就表示函数可以抛出任何类型的异常。异常规格说明异常规格说明的目的是为了让函数使用者知道该函数可能抛出的异常有哪些。 可以在函数的声明中列出这个函数可能抛掷的所有异常类型。例如void fun() throw(ABCD);2、若无异常接口声明则此函数可以抛掷任何类型的异常。不抛掷任何类型异常的函数声明如下#include #include using namespace std;class MyException { public:MyException(const char *message): message_(message){cout MyException ... endl;}MyException(const MyException other) : message_(other.message_){cout Copy MyException ... endl;}virtual ~MyException(){cout ~MyException ... endl;}const char *what() const{return message_.c_str();} private:string message_; };class MyExceptionD : public MyException { public:MyExceptionD(const char *message): MyException(message){cout MyExceptionD ... endl;}MyExceptionD(const MyExceptionD other): MyException(other){cout Copy MyExceptionD ... endl;}~MyExceptionD(){cout ~MyExceptionD ... endl;} };void fun(int n) throw (int, MyException, MyExceptionD) {if (n 1){throw 1;}else if (n 2){throw MyException(test Exception);}else if (n 3){throw MyExceptionD(test ExceptionD);}}void fun2() throw() {}int main(void) {try{fun(2);}catch (int n){cout catch int ... endl;cout n n endl;}catch (MyExceptionD e){cout catch MyExceptionD ... endl;cout e.what() endl;}catch (MyException e){cout catch MyException ... endl;cout e.what() endl;}return 0; }C Primer 中关于 what的解释在之前的例子里我们使用了一个 throw 表达式以避免把两个代表不同书籍的 Sales_item 相加。我们假设执行 Sales_item 对象加法的代码是与用户交互的代码分离开的。其中与用户交互的代码负责处理发生的异常它的形式可能如下所示while (cin item1 item2){try{//执行添加两个Sales_item对象的代码//如果添加失败代码抛出一个runtime_error异常} catch (runtime_error err){//提醒用户两个ISBN必须一致询问是否重新输入cout err.what() \nTry Again? Enter y or n endl;char c;cin c;İf (!cin || c n)break;//跳出while循环} }程序本来要执行的任务出现在 try 语句块中是因为这段代码可能会抛出一个 runtime_error 类型的异常。try 语句块对应一个 catch 子句。该子句负责处理类行为 runtime_error 的异常。如果 try 语句块的代码抛出了runtime_error 异常接下来执行 catch 块内的语句。在我们书写的 catch 子句中数出一段提示信息要求用户指定程序是否继续。如果用户输入 n执行 break 语句并退出 while 循环否则直接执行 while 循环的右侧花括号意味着程序控制权条回到 while 条件部分准备下一次迭代。给用户的提示信息中输出了 err.what() 的返回值。我们知道 err 的类型是 runtime_error因此能推断 what 是 runtime_error 类的一个成员函数。每个标准库异常类都定义了名为 what 的成员函数。这些函数没有参数返回值是 C 风格字符串即 const char *其中runtime_error 的 what 成员函数返回的是初始化一个具体对象所用的 string 对象的副本。如果上一节编写的代码抛出异常则本节的 catch 子句输出:Data must refer to same ISBN Try Again? Enter y or n在 C11 中声明一个函数不可以抛出任何异常使用关键字 noexcept。void mightThrow(); // could throw any exceptions. void doesNotThrow() noexcept; // does not throw any exceptions.下面两个函数声明的异常规格在语义上是相同的都表示函数不抛出任何异常。void old_stytle() throw(); void new_style() noexcept;对于:const char * what () const throw () { //函数体 }做几点说明从左到右看 1. const char * 表示返回值类型 2. what 是函数名称 3. () 是参数列表 4. const 表示该成员函数不能修改成员变量 5. throw() 是异常规格说明符。括号内写该函数可抛出的异常类型上述 5 点均为函数的声明部分。
http://www.w-s-a.com/news/377031/

相关文章:

  • 番禺区网站建设哪里有泰安公司
  • 网站制作详细过程网站开发最强工具
  • 孟村县做网站长春城投建设投资有限公司网站
  • 国家重大建设项目库网站wordpress安装 var
  • 供求信息网站建设报价网站制作 苏州
  • 动漫建模代做网站百度一下wordpress nginx 固定链接
  • 广州网站开发网络公司网站建设的书
  • php手机网站开发教程家政网站怎么做
  • 视频网站的建设预算通信科技网站设计
  • 糖果网站建设策划书淘宝客网站开源
  • 建站公司还有前途吗cf网站编程
  • 网站建设需求确认表建站工具 比较
  • 刚建设的网站多久能在百度查到考试系统 微网站是什么样的
  • 商城网站建设高端企业网站建设劣势
  • 网站建设征集通讯员的通知seo推广外包
  • 微信公众号微网站建设专业网站建设出售
  • 怎么用wordpress建立自己的网站加强校园网站建设
  • 用什么做网站后台的织梦网站怎么上传
  • 怎么获取网站数据做统计百度快照推广有效果吗
  • 淘宝领卷网站什么做制造网站开发
  • 如何做com的网站网站建设投标书模板
  • 郑州网络营销网站优化网站技术方案怎么写
  • 济南市住房和城乡建设局网站wordpress mnews主题
  • ios开发网站app网站建设企业有哪些方面
  • 网站主页 优帮云深圳代做网站后台
  • app 与网站网站建设要做什么
  • 厦门国外网站建设公司郑州核酸点推vip服务
  • 免费网线seo外链怎么做
  • 宽带技术网网站wordpress widget hook
  • 山西省住房和城乡建设厅网站报名wordpress添加标签插件