我只是在視覺工作室和上面的代碼中玩弄異常,因爲我的異常規範沒有提到任何應該引發的錯誤提示。但實際發生的情況是異常被適當的處理程序捕獲。爲什麼這樣?我是否缺少一些設置或IDE中的某些內容?關於異常的問題
雖然我被困在上面提到的,其實我試圖找到問題的答案,如果我有一個異常空白規範然後會被調用? 的意外()方法或* bad_exception *將被拋出,如果兩者以什麼順序? 這是代碼。
#include "stdafx.h"
#include <stdio.h>
#include <exception>
#include <iostream>
using namespace std;
class A
{
public:
int i;
};
void myunexpected()
{
cerr << "unexpected called\n";
}
void doSomething(void) throw();
void doSomething(void) throw()
{
A obj;
obj.i= 100;
throw obj;
}
int _tmain(int argc, _TCHAR* argv[])
{
set_unexpected (myunexpected);
try
{
doSomething();
}
catch (bad_exception be)
{
puts("Caught something");
}
catch (A &obj)
{
puts("Caught Integer");
}
return 0;
}
darn!我可以看到代碼在預覽中正確對齊,但不在這裏! :( – 2010-09-30 07:51:35
使用編輯器上方的'101010'按鈕來格式化代碼 – sbi 2010-09-30 07:58:45
@sbi:謝謝!應該嘗試一下按鈕。我試過實際上我使用了代碼和prev標籤,並且在預覽中奇怪地顯示了正確的縮進但不是post::( – 2010-09-30 08:03:51