• 6975阅读
  • 5回复

怎么配置让QT程序支持异常处理? [复制链接]

上一主题 下一主题
离线mitchb011707
 

只看楼主 倒序阅读 楼主  发表于: 2010-10-26
— 本帖被 XChinux 执行加亮操作(2010-10-26) —
我在windows下使用qt开发,版本Qt Creator 1.3.1 Based on Qt 4.6.2 (32 bit)。
我的程序需要进行异常处理,但是使用try{}catch{}却抓不到异常。
在论坛里查找方法改写pro文件,发现makefile确实改变了,请问还需要配置什么地方?
pro文件改写方法
QMAKE_CXXFLAGS += -fexceptions
QMAKE_CFLAGS += -fexceptions
makefile.debug文件被修改为
CFLAGS        = -fexceptions -g -Wall $(DEFINES)
CXXFLAGS      = -fexceptions -g -frtti -mthreads -Wall $(DEFINES)
离线mitchb011707

只看该作者 1楼 发表于: 2010-10-26
我在网上查到-fexceptions 是默认选项,并且我自己throw出来的异常是能收到的。请大侠帮忙啊
离线mitchb011707

只看该作者 2楼 发表于: 2010-10-28
大侠们,那QT还有没有其他处理异常的方法啊?
我的程序会因为某些异常会导致退出,我想抓这些异常然后不让程序退出,有没有什么方法?
离线mitchb011707

只看该作者 3楼 发表于: 2010-10-29
我为了测试异常处理写了简单的测试代码
int a = 1, b = 0, c = 0;
  try
  {
  c = a / b;
  }
  catch(...)
  {
  c = -1;
  }
这样写程序就直接异常退出了,然后改写
int a = 1, b = 0, c = 0;
  try
  {
  //c = a / b;
  throw(0);
  }
  catch(...)
  {
  c = -1;
  }
这样写程序就能抓到异常进行处理,然后正常运行
我想问大侠,QT怎么处理异常的?
离线dbzhang800

只看该作者 4楼 发表于: 2010-10-29
查了查资料:整理出来一点内容,可能对你有用

http://hi.baidu.com/cyclone/blog/item/fe6ab3de23101257cdbf1a61.html
离线mitchb011707

只看该作者 5楼 发表于: 2010-12-07
后来使用vs2008编译qt程序,能抓到异常,说明和编译器有关
快速回复
限100 字节
 
上一个 下一个