我在.h文件里定义:
    LoadingWidget* w;
然后.cpp文件里定义:

void MyClass::ModifyTask()
{
    // w = new LoadingWidget(); // 忘了生成实例
    try {
        w->show();    
    } catch (int e) {
        QMessageBox::warning(this, ("error"), ("Please input server address!"));
    }
}
尽管写上了try catch,程序照样崩溃。够差劲的。是我哪里没明白吗?我在另一个语言里这样写就不会出问题,程序不会崩溃。

------------------------------------------------------------------------------------

是VC吧? 我以前看到它对try catch 默认不支持了,需要修改设置的
http://blog.csdn.net/yu444/article/details/5612714

------------------------------------------------------------------------------------

C++ 异常 是用来捕捉你在代码内中用throw抛出的异常的。像非法地址、除数为零等等,都不属于C++异常!!

不同的语言,你不能这么去类比。你不能要求一个C++编译器去支持C++标准没有要求的东西。尽管长期以来MSVC对C++标准的支持非常差劲,但这部分应该没什么问题。更何况,它还通过自己的扩展提供了结构化异常的支持。

参考:http://www.qtcn.org/bbs/read-htm-tid-57906.html

C++的try catch到底能防止什么错误?的更多相关文章

  1. null?对象?异常?到底应该如何返回错误信息

    这篇文章记录我的一些思考.在工作了一段时间之后. 问题的核心很简单:到底如何返回错误信息. 学生时代,见到过当时的老师的代码: if (foo() == null) { } 当然,这位老师是一位比较擅 ...

  2. 从研究try catch 捕获不到异步错误谈谈学习方法的问题

    先看下面的代码,思考一下输出 try { throw new Error(3) } catch (e) { console.log(e) } try { setTimeout(function () ...

  3. JS的 try catch使用心得

    try{ //正常执行 }catch(e/*你感觉会出错的 错误类型*/){ // 可能出现的意外 eg:用户自己操作失误 或者 函数少条件 不影响下面的函数执行 // 有时也会用在 比如 focus ...

  4. c++ try catch 问题

    以前都是用try{} catch(…){}来捕获C++中一些意想不到的异常, 今天看了Winhack的帖子才知道,这种方法在VC中其实是靠不住的.例如下面的代码: 以前都是用try{} catch(… ...

  5. js try catch 的使用,容错处理

    tag: js try catch 的使用,js容错处理 网友回答: try{ //正常执行 }catch(e/*你感觉会出错的 错误类型*/){ // 可能出现的意外 eg:用户自己操作失误 或者 ...

  6. [转] C++ try catch() throw 异常处理

    原文地址 其它很多程序员一样,本书的主人公阿愚也是在初学C++时,在C++的sample代码中与异常处理的编程方法初次邂逅的,如下:   // Normal program statements  . ...

  7. [转] c++ try catch 问题

    windhaunting,原文地址 以前都是用try{} catch(…){}来捕获C++中一些意想不到的异常, 今天看了Winhack的帖子才知道,这种方法在VC中其实是靠不住的.例如下面的代码: ...

  8. 异常处理(try catch throw)详解(C++)

    选择异常处理的编程方法的具体原因如下: 1.把错误处理和真正的工作分开来: 2.代码更易组织,更清晰,复杂的工作任务更容易实现: 3.毫无疑问,更安全了,不至于由于一些小的疏忽而使程序意外崩溃了: 4 ...

  9. c++ try catch 问题(没有throw就会被删除,加上/EHa这样就不会被删除)

    以前都是用try{} catch(…){}来捕获C++中一些意想不到的异常, 今天看了Winhack的帖子才知道,这种方法在VC中其实是靠不住的.例如下面的代码: 以前都是用try{} catch(… ...

随机推荐

  1. bootstrap--组件之按钮式下拉菜单

    把任意一个按钮放入 .btn-group 中,然后加入适当的菜单标签,就可以让按钮作为菜单的触发器了. 简单的实现如下 Code<div class="btn-group"& ...

  2. Jquery Table添加行、删除行

    html页面代码 <table id="tblUserInfo"> </table> Js代码 function DealUserInfo(qty){ ) ...

  3. 在.Net中进行跨线程的控件操作(下篇:BackgroundWorker)

    在.Net中,如果我们在非UI线程上访问窗体上的控件的时候,会产生一个跨线程调用的异常,那么如何处理这种情况呢?在上一章中,我介绍了使用Control.Invoke方法,如果你不习惯使用委托,那么.N ...

  4. 高吞吐高并发Java NIO服务的架构(NIO架构及应用之一)

    高吞吐高并发Java NIO服务的架构(NIO架构及应用之一) http://maoyidao.iteye.com/blog/1149015   Java NIO成功的应用在了各种分布式.即时通信和中 ...

  5. 对REST的一些理解

    昨天学习REST,发现有篇文章写的真心不错,看了一遍,并没有完全理解,将一些感觉比较重要的做个记录.  文章链接:REST简介 定义 Representational State Transfer ( ...

  6. JDBC实现往MySQL插入百万级数据

    想往某个表中插入几百万条数据做下测试, 原先的想法,直接写个循环10W次随便插入点数据试试吧,好吧,我真的很天真.... DROP PROCEDURE IF EXISTS proc_initData; ...

  7. 04_XML_01_入门基础

    [什么是XML] Extensible Markup Language,翻译过来即可扩展标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 在XML语言中,它允 ...

  8. 泛型集合List<T> Dictionary<K,V>

    List<T>类似于ArrayList,ArrayList的升级版. 各种方法:Sort().Max().Min().Sum()…   Dictionary<K,V>类似于Ha ...

  9. 【转】Ext.ajax.request 中的success和failure

    原文链接:Ext.ajax.request 中的success和failure Ajax request对象的success事件表示request过程中没有发生错误,和自己的业务逻辑无关, 如果访问不 ...

  10. 【python】python的列表表达式或解析式,帅就一个字

    >>> list1 = [x**2 for x in range(10)]>>> list1[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]