异常捕获的基本构成方式
try // c++异常的处理方式
{
// 包含可能抛出异常的语句
}
catch(类型名[形参名]) // 捕获特定类型的异常
{
// 处理异常的语句 条件是抛出的异常类型是与catch参数类型匹配
}
// try捕获异常并不能保证程序就不会崩溃,通常还需要做一下两个操作
// 1、满足某个条件是显式抛出(throw)一个异常
// 2、使用catch匹配异常类型
异常捕获的基本引用
/*
* @Author: Stylle
* @Date: 2020-08-25 15:24:03
* @LastEditors: Stylle
* @LastEditTime: 2020-08-25 16:59:14
* @FilePath: \learing-master\异常处理try和throw以及catch.cpp
*/
#include <iostream>
// 本函数会使程序崩溃
void func(int &num)
{
int nNum = 10;
int mNum = num;
if (mNum == 0)
throw "异常:除数等于0";
// 如果捕获到异常下面的代码将不会执行
if (mNum == 1)
throw 1;
int oNum = nNum / mNum;
if (oNum == 0)
{
throw "errorCode = 2";
}
std::cout << oNum;
}
int main(int argc, char *argv[])
{
std::cout << "hello world" << std::endl;
// func(0); //异常
// 异常处理操作步骤2
try
{
int num = 9999;
func(num); // 接受异常
}
catch (const char *error)
{
// 处理异常
std::cout << error;
}
catch (int errorNum)
{
//抛出异常接受到整型
std::cout << "异常数值:" << errorNum;
}
catch (...)
{
// 捕获所有异常:匹配性能最差,捕获性能最强
std::cout << "其他异常";
}
return 0;
}
try、catch使用方法跟switch有点相识,只不过try指向全局