code:

int _tmain(int argc, _TCHAR* argv[])

{

cout << "In main." << endl; 

//定义一个try block,它是用一对花括号{}所括起来的块作用域的代码块

try

{

cout << "在 try block 中, 准备抛出一个异常." << endl;

strcpy(NULL, "asd");

cout << "在 try block 中, 由于前面抛出了一个异常,因此这里的代码是不会得以执行到的" << endl;



catch(...)



cout << "在 catch block 中, 处理异常错误。异常对象value的值为:"<< endl;



cout << "Back in main. Execution resumes here." << endl;





return 0;

}

但是在2010下编译上面这段代码,异常捕捉不到.

-----解决方案--------------------

这个跟C++的try-catch异常捕获的两种模式有关。同步模式和异步模式。其中前者不能捕获内存访问错误,后者可以捕获内存访问错误。 

/EHs
/EHsc是启用同步模式。(同 /GX) 

/EHa是起用异步模式。 



2010默认是 /EHsc,  改为 /EHa就行了

try-catch 捕捉不到异常的更多相关文章

  1. bcb 如何在DLL中捕捉系统级异常

    http://topic.csdn.net/t/20031023/09/2385627.html -------------------------------------------------- ...

  2. 如何在方法上贴上attribute(特性)捕捉方法的异常,来实现我们的需求

    在方法上贴上attribute(特性)捕捉方法的异常,其实这么做也是为了在项目中不会大量使用try-cacth这样的语句,同时使我们的代码看起来更简洁,更直观,将逻辑业务分离使得后期维护方便.这里我们 ...

  3. Spring-Security无法正常捕捉到UsernameNotFoundException异常

    前言 在Web应用开发中,安全一直是非常重要的一个方面.在庞大的spring生态圈中,权限校验框架也是非常完善的.其中,spring security是非常好用的.今天记录一下在开发中遇到的一个spr ...

  4. Spring 捕捉校验参数异常并统一处理

    使用 @Validated ,@Valid ,@NotBlank 之类的,请自行百度,本文着重与捕捉校验失败信息并封装返回出去 参考: https://mp.weixin.qq.com/s/EaZxY ...

  5. 一个Exception catch不住的【异常】

    现象: Controller中的方法接收到前台ajax请求后开始执行, 当执行到某一行时程序终止,前台回调进Error方法. 后台明明catch了Exception异常,但异常并没有被捕获(不进cat ...

  6. 一些Windows API导致的Crash以及使用问题总结(API的AV失败,可以用try catch捕捉后处理)

    RegQueryValueEx gethostbyname/getaddrinfo _localtime64 FindFirstFile/FindNextFile VerQueryValue Crea ...

  7. 异常-try...catch的方式处理异常2

    package cn.itcast_02; /* * A:一个异常 * B:二个异常的处理 * a:每一个写一个try...catch * b:写一个try,多个catch * try{ * ... ...

  8. 异常-try...catch的方式处理异常1

    package cn.itcast_02; /* * 我们自己如何处理异常呢? * A:try...catch...finally * B:throws 抛出 * * try...catch...fi ...

  9. try catch处理流的异常

    1.try catch处理异常 try{} catch(Exception e){} finally{ 必然执行的代码,一般是释放资源 } 2.流使用try catch处理异常 其中,变量作用域只在当 ...

随机推荐

  1. 杭电多校第三场-H-Game

    题目描述 Again Alice and Bob is playing a game with stones. There are N piles of stones labelled from 1 ...

  2. Java SE(1)

    Java SE基础回顾 1.循环语句中的break是终止全部循环,跳出循环体:而continue是终止本次循环,跳执行下一循环 2.return语句有两个作用:返回值:结束方法的运行 3.对于java ...

  3. 第一天:powershell外部命令

    首先我们应该怎样打开powershell呢?win+R,之后是一个运行窗口,在里面输入“powerhsell".按回车键,就可以打开powershell命令窗口了.当然也有其他方法打开,比如 ...

  4. 代码格式化工具---prettier配置

    我自己的常用 prettier 配置如下: // .prettierrc 文件 // 这里修改的都是与默认值不同的,没有修改到的就是启用默认值 // .prettierrc 文件是使用 json 格式 ...

  5. TopCoder[SRM587 DIV 1]:TriangleXor(550)

    Problem Statement      You are given an int W. There is a rectangle in the XY-plane with corners at ...

  6. Django使用步骤

    pip install django django-admin startproject mysite tree django-admin startapp mysite_user django-ad ...

  7. NOIp2018集训test-9-4

    老张让我们2.5h考NOI%你题,喵喵喵? 因为今(我)天(实)的(在)题(太)鬼(弱)畜(了)了,我还只改了t1. Problem A. reorder 考试的时候大家都写了最长不降子序列,然后全员 ...

  8. C++ 将汉字转换成拼音全拼【转载】

    转载自https://www.cnblogs.com/mzhrd/p/4758105.html #include <string> using std::string; //======= ...

  9. python round, ceil, flooor

    round(num, n) 保留n位小数 round(80.23456, 2) : 80.23 round(100.000056, 3) : 100.0 round(-100.000056, 3) : ...

  10. Centos7.5安装mysql 8.0.11

    一.安装前准备 安装采用二进制包方式,软件包8.0.11版本下载地址: https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-linux-gl ...