VC除零异常(错误)捕获
- // testFinally.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- #include <windows.h>
- std::string s;
- //本源码在VC2008+SP1 WindowsXP+SP3 下测试通过 by lee353086
- void myFinally()
- {
- int i=2;//"int i",不需要析构所以可以放在这里
- //注意"std::string s;"这行代码不能放在
- //这里,因为s这个对象需要析构
- //除0,非法指令、存取违例 等等对C++而言是 错误,而不是 异常,和 try-catch 无关
- //所以这里得使用__try__except来捕获除零错误
- __try
- {
- s="My Finally";
- //throw s;//这里throw的s异常会被_tmain中的catch(std::string s)捕获,myFinally函数体剩余的代码将不会被执行
- i = i/0;
- }
- //下面这行可以用用__except(1)来代替,这样就不需要包含#include <windows.h>这段代码
- __except( GetExceptionCode()==EXCEPTION_INT_DIVIDE_BY_ZERO ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH )
- {
- cout<<"got除零错误!"<<endl;
- }
- cout<<s.c_str()<<endl;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- cout<<"main begin"<<endl;
- try{
- myFinally();
- }catch(std::string s)
- {
- cout<<"got其它错误"<<endl;
- }
- cout<<"main end"<<endl;
- return 0;
- }
VC除零异常(错误)捕获的更多相关文章
- Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出
Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出 package com.test; import org.apach ...
- Flask基础(08)-->错误捕获(异常捕获)
错误捕获(异常捕获) from flask import Flask from flask import abort app = Flask(__name__) @app.route('/demo1' ...
- 总结:整理 oracle异常错误处理 .
5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4 用户定义的异常处理 5.2 异常错误传播 5.2.1 在执行部分引发 ...
- 整理 oracle异常错误处理
5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4 用户定义的异常处理 5.2 异常错误传播 5.2.1 在执行部分引发 ...
- oracle 异常错误处理
分类: Oracle 5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4 用户定义的异常处理 5.2 异常错误传播 5.2 ...
- 孤荷凌寒自学python第三十二天python的代码块中的异常的捕获
孤荷凌寒自学python第三十二天python的代码块中的异常的捕获 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天简单了解了Python的错误陷阱,了解到其与过去学过的其它语言非常类似 ...
- STM32 F4xx Fault 异常错误定位指南
STM32 F407 采用 Cortex-M4 的内核,该内核的 Fault 异常可以捕获非法的内存访问和非法的编程行为.Fault异常能够检测到以下几类非法行为: 总线 Fault: 在取址.数据读 ...
- 菜鸡的Java笔记 第三十 - java 异常的捕获及处理
异常的捕获及处理 1.异常的产生分析以及所带来的影响 2.异常的处理的基本格式 3.异常的处理流程 4.异常的处理模式 5.自定义 ...
- iOS已发布应用中对异常信息捕获和处理
iOS已发布应用中对异常信息捕获和处理 iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,但是如果是在已经发布的程序中,获取异常的信息有时候是比较困难的. iO ...
随机推荐
- int to str
string int2str( int num){ if (num == 0 ) return " 0 " ; string str = "" ; int nu ...
- 嵌入式/X86下linux系统死机及内存优化
一. CPU 过高或死锁导致系统卡死 1. CPU占用过高 (1)开线程太多导致CPU占用过高,系统卡死 解决:优化应用层业务逻辑,有些业务不必开线程就不开 (2)频繁清缓存导致读spi-flash ...
- php 小程序获取渠道二维码 保存
function ppost($url,$arr){ $post_data = json_encode($arr); $url=$url; $ch = curl_init(); curl_setopt ...
- 仿凤凰时时彩代购平台源代码[ASP+MSSQL]完整下载
源代码简单介绍 : 适用范围: 时时彩源代码,时时彩程序,开奖平台源代码,投注平台源代码,仿凤凰时时彩源代码 执行环境: ASP+MSSQL 其它说明:仿凤凰时时彩代购平台源代码.网上售价8000 ...
- tomcat 启动项目时出现 ZipException: error in opening zip file
错误情况 项目用 maven 打好 war 包后放到 tomcat 下,启动 tomcat,出现以下错误 3-Nov-2017 12:21:44.346 严重 [localhost-startStop ...
- Android JNI编程(七)——使用AndroidStudio编写第一个JNI程序
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 1.简单介绍一下NDK和JNI NDK:NDK是Native Develop ...
- 用DOM4J包实现对xml文件按属性分离。
转自本人博客:http://www.xgezhang.com/dom4j_xml_separata.html dom4j是一个Java的XML API.类似于jdom.用来读写XML文件的. dom4 ...
- 毕设三: spark与phoenix集成插入数据/解析json数组
需求:将前些日子采集的评论存储到hbase中 思路: 先用fastjson解析评论,然后构造rdd,最后使用spark与phoenix交互,把数据存储到hbase中 部分数据: [ { "r ...
- ActivityManagerService的启动过程
AMS对象随系统进程启动而构建,随着系统进程退出而消亡,可以说,AMS与系统进程共存亡. 先上一张总的启动时序图: 上图分为三个步骤: 初始化系统进程的运行环境; 初始化AMS对象; AMS对象启动的 ...
- [GeekBand] 设计模式——工厂模式学习笔记
本文参考文献:GeekBand课堂内容,授课老师:李建忠 :大话设计模式 其余的模式方法请自行查看Geekband相关课程,在此不累述. 这周的课题是: 针对DrawingSystem中的基类Sha ...