2013-02-15 162 views
3

在Qt的新版本中,配置時無法傳遞命令行參數-exceptions。那麼是否有例外呢?我在我的程序中使用了很多例外。所以如果例外情況一勞永逸......那麼這就是壞消息!Qt 5支持異常嗎?

你們能解釋一下Qt 5中的例外情況嗎?

+1

Qt是否構建有或沒有異常並不會限制您相同。 Qt只使用少數例外,但它使用它們。所以我認爲在啓用異常的情況下編譯是默認的,因此沒有這種開關。 (但我不確定這最後一點;因此是一個評論,而不是一個答案。) – leemes 2013-02-15 08:43:05

回答

8

禁用異常的能力最初是爲了處理預標準編譯器而引入的。 Qt已經有很長一段時間了。

今天,Qt支持的所有編譯器都支持異常,因此不再需要禁用它們。

+0

它「工作」沒有'/ EH',但是不會調用析構函數! – 2014-02-19 14:44:45

+0

@KubaOber:它們被稱爲C++(同步)異常,而不是SEH(異步)異常。但後者無論如何都是未定義行爲。 – MSalters 2014-02-19 14:48:15

+0

好吧,明白了,MSDN文檔並不清楚。 – 2014-02-19 14:50:59