“抛出”崩溃程序,但编译得很好

时间:2012-06-16 13:38:05

标签: c++ gcc compiler-construction

我的程序编译得很好,但每次抛出时都会崩溃(不在try ... catch块内)。

以下是用于项目中所有文件的参数的命令:

mingw32-g++.exe -fexceptions -DWIN32 -D_WINDOWS -D_MBCS -DNO_SOCKLEN_T -DDONTUSEMEMMANAGER -Wall -g -W -fexceptions -DDEBUG

(我知道Wall不需要W,而且我有两次-fexceptions。)

编辑:我知道这种行为实际上并没有错。事情是,它过去工作又称程序不会崩溃。但是几天前我对一些文件进行了更改,再次编译,突然崩溃了

2 个答案:

答案 0 :(得分:6)

嗯,这是预期的行为。标准说[except.handle]:

  

如果找不到匹配的处理程序,则调用函数std :: terminate(); [...]

答案 1 :(得分:4)

这称为未处理的异常。预期的行为是程序应该退出。