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就可以了