C++基础-异常处理

C++基础-异常处理

C++异常处理(较浅)

基本概念

异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现异常的情况,保证程序运行的稳定性和健壮性,防止程序崩溃。但是过渡使用会影响程序运行的效率。

把可能出现的问题放到try里,进行监控

throw前面的语句如果满足,就抛出(下面的语句就不执行了),抛出的变量或是其他称为异常对象,

catch 捕获try中可能出现的异常,catch(参数)这个参数只能捕获一种类型的异常对象,如果要捕获其他类型,则需要再写一个catch语句

catch(...){  //...其他种类的异常(除了上面所写的异常),放在最下面,普遍捕获
    cout << "捕获其他异常" << endl;
}

例子

面向结果编程(哈哈哈)

小于10输出0;大于100输出1;之间输出“10 < a < 100”…

#include<iostream>
#include<string>
using namespace std;

int main(){
	int a;
	cout << "请输入要测试的数字:";
	cin >> a;
	try{
		if(a < 10) throw 0;
		if(a > 100) throw 1;
		throw "10 < a < 100";
	}
	catch(int a){
		cout << a << endl;
	}
	catch(const char *str){
		cout << (string)str << endl;
	}
    
	return 0;
}

当显示出terminate called after throwing an instance of “char const*”,出现这种情况的原因就是在catch中异常并没有匹配上去,C++的析构函数抛出异常将自动调用terminate()终止程序。

catch(const char *str) //加一个Cconst就可以了
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » C++基础-异常处理