C++之异常处理
来源:互联网 发布:PHP可以用mvc框架么 编辑:程序博客网 时间:2024/06/02 00:26
C++异常处理方式:
C++异常处理使用了三个关键字:try,throw,catch。try-catch块的形式如下:
try{//包含可能抛出的异常的语句;}catch(类型名[形参名])//捕获特定类型的异常{//处理异常的语句;}
try 块:将有可能出现异常的语句包含在try块中
catch块:捕获并处理,捕获和处理的条件是抛出的异常类型与catch块参数类型相匹配
注意:并不是使用了try块包含可能出现异常的代码后,程序就不会崩溃,通常还需要进行两个操作:
(a)满足某个条件就显示的抛出(throw)一个异常
(b)使用catch块来匹配抛出的异常类型
//在函数进行封装时,一般使用try catch,而一般情况下很少使用,通过if判断语句进行异常处理
#include "stdafx.h"#include<stdlib.h>#include<iostream>using namespace std;void f(){int a(5);int b(0);//1.显示的抛出异常if (b == 0)throw "除数为0!";//抛出字符串//抛出异常后,下面的语句不再执行//抛出的类型是可选的,比如抛出数字 404,那么将catch()改成catch(int code),比如网页中显示错误码int c = a / b;cout << c << endl;}int main(){//f();//直接调用程序崩溃try//try块中放置有可能出现异常的代码块{ f();}catch(const char *error)//参数要和抛出的异常类型匹配,throw中抛出的是字符串{ cout << error << endl;}//catch (...)//使用...可以捕获throw抛出的任何类型的异常,有点像switch中的default////通用性最强,匹配性最差//{//cout << "所有异常均可以被捕获!"<< endl;//}system("pause"); return 0;}//catch (...)//使用...可以捕获throw抛出的任何类型的异常,有点像switch中的default////通用性最强,匹配性最差,因此通常将catch(...)放置在多个catch()捕获的最后,//作为保底的捕获方法,防止前面没有可以匹配的异常处理
0 0
- Objective-C语法之异常处理
- Objective-C语法之异常处理
- Objective-C语法之异常处理
- 5,Objective-C语法之异常处理
- Objective-C语法之异常处理
- Objective-C语法之异常处理
- 6、Objective-C语法之异常处理
- Objective-C语法之异常处理
- Objective-C语法之异常处理
- Objective-C语法之异常处理
- Objective-C语法之异常处理
- c#中的异常处理
- 异常处理 - [C++]
- c异常处理
- Objective-c异常处理
- C语言异常处理
- c 异常处理
- C 异常处理设计
- VIM + Taglist的使用
- 字符编码详解
- USB的“JoyStickMouse”例程分析——学习笔记(4)__枚举过程
- Windows TensorFlow(GPU 版) 安装 (于17.3.31号完成安装)
- PTA 5-10 多项式A除以B (2017cccc初赛L2-2)
- C++之异常处理
- HTTP要点概述:十,内容协商返回合适的内容
- 背景图片适应div的大小
- 深入浅出数据库索引原理
- RTDS 推出 NovaCor
- 【Camtasia Studio学习笔记】Camtasia 9的下载和破解以及卸载教程
- html和css自适应页面原理!
- 块状链表
- leetcode219. Contains Duplicate II