2014-05-13 52 views
1

我有一些這樣的代碼:找出異常的類型一般漁獲C++裏面

void myMethod(){ 
     try{ 
     someMethod(); 
     } 
     catch(std::exception e){ 
     std::cout<<"std::exception"<<std::endl; 
     } 
     catch(...){ 
     std::cout<<"..."<<std::endl; 
     } 
    } 

的事情是,當someMethod拋出一個異常打印總是

「......」

。 此外,該方法someMethod不是我寫的,我不知道會拋出什麼樣的異常(沒有文檔)。

我的問題是,我怎麼能知道什麼樣的異常(其類類型),當我在catch(...)塊我已經拋出?

有時候,我的軟件,裏面catch(...)進入,我想知道爲什麼被捉住例外保存情況。

任何想法?

+1

我就開始越來越[當前異常(http://en.cppreference.com/w/cpp/error/current_exception) – Mgetz

回答

1

有沒有辦法來確定異常的類型(儘管你可以將其分配到一個std :: exception_ptr(C++ 11),不提供類型信息,既不)。