我想知道有關(guān)C ++ try / catch / finally塊的信息。我看過這些命令帶有兩個(gè)下劃線,例如__try。但是MVSC 2010項(xiàng)目也沒有下劃線。那么什么時(shí)候需要這些下劃線?
3 回答

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
__try/ __except用于捕獲SEH(Windows生成的錯(cuò)誤),而不用于捕獲常規(guī)異常。
try/ catch是C ++標(biāo)準(zhǔn)為處理常規(guī)C ++異常而指定的內(nèi)容。
對(duì)于您編寫的標(biāo)準(zhǔn)C ++代碼,應(yīng)始終使用try/ catch而不是__try/__except
另外,finally不是C ++ Standard指定的構(gòu)造,它對(duì)您有用,因?yàn)樗荕icrosoft編譯器擴(kuò)展。

翻過高山走不出你
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
__try/__except 是特定于Microsoft的如果您希望代碼可以與其他編譯器(例如c g ++)(或其他操作系統(tǒng))一起編譯,請(qǐng)避免使用它們,并堅(jiān)持使用標(biāo)準(zhǔn)try/catch語句
- 3 回答
- 0 關(guān)注
- 1287 瀏覽
添加回答
舉報(bào)
0/150
提交
取消