try{ cout<

try{ cout<<e; throw; }throw默认值?
try{
cout<<e;
throw;
}
这样的throw出来的是什么东西?
------解决方案--------------------
一般在catch块中重新抛出异常。

try
{
  //xxxx
}catch(...)
{
 throw; 
}

------解决方案--------------------
个人认为throw;放在try块里面是误用。throw;应该仅放在catch或catch调用的函数中,如果放在其它地方,会导致调用terminate函数。
------解决方案--------------------
throw;表示重新抛出,也就是说前面已经抛出的异常在这里重新抛出。


try
{
  // 这里抛出的异常被下面的catch捕获
}catch(...)
{
 throw;   // 重新抛出被catch到的异常
}


所以throw;抛出的类型是上面catch到的类型。。。
------解决方案--------------------
引用:
Quote: 引用:

一般在catch块中重新抛出异常。

try
{
  //xxxx
}catch(...)
{
 throw; 
}
我问的是这种写法的throw抛出的是什么类型的异常?

看原来的异常是啥类型, 只是接住(catch)后重新抛出而已。