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

白人与黑人做爰网站社区门户网站规范化建设

白人与黑人做爰网站,社区门户网站规范化建设,成都网上注册公司流程,如何找到网站管理员概念 异常事件#xff08;如#xff1a;除 0 溢出#xff0c;数组下标越界#xff0c;所要读取的文件不存在 , 空指针#xff0c;内存不足 等等#xff09; 在 C 语言对错误的处理是两种方法#xff1a; 一是使用整型的返回值标识错误#xff1b; 二是使用 errn…概念 异常事件如除 0 溢出数组下标越界所要读取的文件不存在 , 空指针内存不足 等等 在 C 语言对错误的处理是两种方法 一是使用整型的返回值标识错误 二是使用 errno 宏可以简单的理解为一个全局整型变量去记录错误。 C 异常不可忽略 ( 如果忽略进程结束 ) 。 异常作为一个类可以拥有自己的成员这些成员就可以传递足够的信息。 抛出异常 ---- 捕获异常。 示例 int main(int argc, char *argv[]) {int num 10 / 0;cout OVER endl;return 0; } //不会显示OVER,程序异常结束 抛出异常 语法:throw 值或变量; 例如 throw 0; throw 1.1; throw a; throw abc; 捕获异常 语法 try{ 可能会产生异常的代码 111 222 出现异常 333 } catch( 数据类型 1 变量名 ) {         当throw 的值与数据类型 1 相同进入此处 } catch( 数据类型 2 变量名 ) {         当throw 的值与数据类型 2 相同进入此处 } ... catch(...) {         当throw 的值以上数据类型都不相同进入此处 } 示例 #include iostream #include cstring using namespace std; //异常步骤,抛出异常,捕获异常 int mydiv(int a,int b) {if(b 0){// 抛出异常int num 0;throw num;}return a / b; } void test01(){try{mydiv(10,0);}catch(int e){cout e endl;}catch(char const* s){cout s endl;}catch(...){cout 其他异常 endl;} } int main(int argc, char *argv[]) {test01();return 0; } 栈解旋 概念 异常被抛出后从进入 try 块起 , 到异常被抛掷前 , 这期间在栈上构造的所有对象 , 都会 被自动析构。析构的顺序与构造的顺序相反 , 这一过程称为栈的解旋 示例 class A{ private: int num; public: A(int num):num(num) {cout 构造函数 num endl; } ~A() {cout 析构函数 num endl; } }; void test02() {A a1(1);A a2(2);throw 0; } int main(int argc, char *argv[]) {try{test02();}catch(...){}return 0; } 结果 构造函数1 构造函数2 析构函数2 析构函数1 异常的接口声明 作用 限定异常抛出的类型种类 语法 返回值类型 函数名( 形参列表 )throw( 数据类型 1, 数据类型 2,...) { 函数体 } 注意: 声明异常后,当前函数中只能抛出指定类型的异常 throw():不允许抛出任何异常 示例 void fun01()throw(int,char) {// throw 10;//可以// throw a;//可以// throw 3.14f;//不可以 } void test03(){try{fun01();}catch(int){cout int的异常 endl;}catch(char){cout char的异常 endl;}catch(float){cout float的异常 endl;} } int main(int argc, char *argv[]) {test03();return 0; } 异常对象的生命周期 示例1抛出异常对象 #include iostream #include cstring using namespace std; class B{ private:int num; public:B(int num):num(num){cout 构造函数 num endl;}B(const B b){this-num b.num;cout 拷贝构造 num endl;}~B(){cout 析构函数 num endl;} }; void fun02() {throw B(10); } void test04() {try{fun02();}catch(B b){} } int main(int argc, char *argv[]) {test04();cout OVER endl;return 0; } 结果 示例2抛出异常对象指针 #include iostream #include cstring using namespace std; class B{ private:int num; public:B(int num):num(num){cout 构造函数 num endl;}B(const B b){this-num b.num;cout 拷贝构造 num endl;}~B(){cout 析构函数 num endl;} }; void fun02() {throw new B(10); } void test04() {try{fun02();}catch(B *b){} } int main(int argc, char *argv[]) {test04();cout OVER endl;return 0; } 结果 示例3抛出异常对象引用 #include iostream #include cstring using namespace std; class B{ private:int num; public:B(int num):num(num){cout 构造函数 num endl;}B(const B b){this-num b.num;cout 拷贝构造 num endl;}~B(){cout 析构函数 num endl;} }; void fun02() {throw B(10); } void test04() {try{fun02();}catch(B b){} } int main(int argc, char *argv[]) {test04();cout OVER endl;return 0; } 结果 异常的多态 概念 :   子类异常对象可以被父类异常类型捕获 示例1: class BaseException{}; class MyException01:public BaseException{}; class MyException02:public BaseException{}; void test05() {try{throw MyException01();}catch(BaseException){cout 可以捕获子类异常 endl;} } int main(int argc, char *argv[]) {test05();return 0; } 示例 2: 子类异常重写父类虚函数 class BaseException{ public:virtual void printMsg(){} }; class NullException:public BaseException{ public:virtual void printMsg(){cout 空指针异常 endl;} }; class ArrOutException:public BaseException{ public:virtual void printMsg(){cout 数组下标越界异常 endl;} }; void test05() {try{throw NullException();}catch(BaseException e){e.printMsg();} } int main(int argc, char *argv[]) {test05();return 0; } 标准异常库 简介 标准库中也提供了很多的异常类它们是通过类继承组织起来的。异常类继承层级 . 结构图 所示 标准异常使用 void test06() {try{throw bad_alloc();}catch(exception e){cout e.what() endl;} } int main(int argc, char *argv[]) {test06();return 0; } 自定义异常 步骤 1,定义一个类 2,继承与异常类 3,重写 wait 方法 示例 class my_exception:public exception { private:char* msg; public:my_exception(){}my_exception(char* msg){this-msg msg;}const char *what()const noexcept{return msg;} }; void test07() {try{throw my_exception(自定义异常);}catch(exception e){cout e.what() endl;} } int main(int argc, char *argv[]) {test07();return 0; }
http://www.huolong8.cn/news/54339/

相关文章:

  • 公司网站注册流程和费用网络营销推广公司策划方案
  • 郑州网站建设乛汉狮网络网站开发人员的水平
  • 广东网站备案多长时间互联免费虚拟主机
  • 免费的seo网站个人网页html实例完整代码
  • 为何网站不被百度收录市政工程单位工程划分
  • 门户网站开发建设成本明细保险平台
  • 长春建站培训班一级a做爰片免费观看 安全网站
  • 太原找工作网站怎么把qq空间做成企业网站
  • 长沙教育类网站建设光山网站建设
  • 彩虹网站建设天天广告联盟官网
  • 公司集团网站设计怎么做企业推广
  • 营销网站定制公司男科医院网站模板
  • 潜江市网站链接交换平台
  • 网站开发 php模板wordpress 获取当前自定义分类
  • 织梦学校网站简单做网站的价格
  • 文化传播有限公司网站建设南昌企业制作网站设计
  • 各大网站注册阿里建站平台官网
  • 徐州公司网站建设软文范例大全1000字
  • 伪类网站wordpress怎么添加接口
  • 免费个人素材网站wordpress 原理
  • 英文网站开发专业的外贸网站建设公司
  • 海宁长安网站开发网站外链隐形框架
  • ssh框架做的网站问题做网站赚什么钱
  • 东莞专业微网站建设如何制作推广网站
  • 哈尔滨营销型网站建设公司淘宝网的网站建设
  • 遵义做网站 0852t微信小程序开发教程pdf
  • 园林景观 网站建设怎么让网站被百度搜到
  • 网站开发流程到上线公司官网建设多少钱
  • 烟台门户网站外贸企业网站开发
  • 哪些网站可以做平面设计挣钱设计图房子装修平面图