异常基本语法

异常基本语法

如果抛出异常后,不处理异常,程序会自动结束

异常是一层层向上抛出的,直到处理异常为止,如果抛到顶层还没有处理,程序自动结束.

c++的异常是必须处理的

1
2
3
4
5
6
7
8
9
10
//抛异常
throw 变量/对象/值/指针

try{
//可能会出现异常的语句块
}
catch(类型/类型 变量名)
{
//处理异常
}

1624145192251

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>


using namespace std;

double dev(double x, double y) {
if (y == 0)
{
throw y; //抛异常
}

return x / y;
}


void test01() {
dev(10,0);
}

void test02() {
try { //可能会出现异常
test01();
}
catch (double y) //异常是根据类型进行匹配的 可以是catch (double)不接收异常的值
{
cout << y << endl;
}
}
int main(char *argv[], int argc)
{
test02();
cout << 123 << endl;
return 0;
}