Posted on 2009-10-12 20:11
S.l.e!ep.¢% 阅读(1404)
评论(2) 编辑 收藏 引用 所属分类:
C++
#include
<
iostream
>
using
namespace
std;
void
main()
{
try
{
try
{
//
throw int(10);
//
测试语句 1;
//
throw;
//
测试语句 2;
}
catch
(
int
i)
{
throw
;
std::cout
<<
i
<<
std::endl;
}
}
catch
(
int
i)
{
std::cout
<<
"
second
"
<<
i
<<
std::endl;
}
catch
()
{
std::cout
<<
"
unknown exception
"
<<
std::endl;
}
//
throw;
}
(1) 当采用 语句 1 时, second catch(int i) 可以捕获到异常, 这说明 throw; 有继续抛异常的功效
(2) 当采用 语句 2 时, catch(...)捕获不到异常,说明,如果在没异常而调用了 throw; 的情况下,异常的类型是无法预知的。。。。