35 lines
774 B
C++
35 lines
774 B
C++
// throw() 和throw有什么区别?请举例说明
|
||
// 1. throw()是函数声明,表示该函数不会抛出任何异常
|
||
// 2. throw是抛出异常的关键字
|
||
// 3. throw()是函数声明,throw是语句
|
||
#include <bits/stdc++.h>
|
||
|
||
using namespace std;
|
||
|
||
void show(int n) throw() // throw() 表示异常抛出限制: 不抛出任何异常
|
||
// void show(int n) throw(int ) // throw(int) 表示只抛出 int 类型的异常
|
||
{
|
||
if (n == 0)
|
||
{
|
||
throw 0; // throw 0 表示抛出 int 类型的异常
|
||
}
|
||
cout << "n = " << n << endl;
|
||
}
|
||
|
||
int main()
|
||
{
|
||
try
|
||
{
|
||
show(0);
|
||
}
|
||
catch (const int &e)
|
||
{
|
||
cout << "捕获异常: " << e << endl;
|
||
}
|
||
catch (...)
|
||
{
|
||
cout << "捕获其他异常" << endl;
|
||
}
|
||
return 0;
|
||
}
|