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;
|
|||
|
}
|