2011-04-23 44 views

回答

12

從2003 C++標準第15.1節[except.throw]/8:

如果沒有例外當前被處理,執行擲表達無操作數調用terminate()

因此,在您的示例中,由於當前沒有異常處理,因此不會引發任何異常,而是調用terminate()。由於terminate()不會返回,因此您的catch塊將不會被輸入。

+1

+1順便說一句,對於引文:P – Nawaz 2011-04-23 18:30:11

+0

糟糕:| ...下次再來吧:P – Nawaz 2011-04-23 18:32:20

+3

...不要傳遞'throw;'不要收集異常'$ 200'。 – Potatoswatter 2011-04-23 19:40:22