2 a1317338022 a1317338022 于 2016.05.10 18:21 提问

如何忽略所有异常,使用c++编程

请问c++有没有办法在程序遇到异常时,比如除以0的异常,有没有办法忽略这个异常,程序继续执行,
程序不会自动退出呀?

3个回答

u014120397
u014120397   2016.05.12 13:58

这是肯定不能的,但是有一种方法就是特判
就是说当你意识到有特殊情况会令异常情况出现但是这个情况要求输出或有解,那么就把它独立开来进行处理
但是大多数情况下这类特殊情形不会出现,那么这类异常就只能是你的程序的问题了,那么就好好调试吧,毕竟C++不是万能的……

qq423399099
qq423399099   Ds   Rxr 2016.05.10 19:52

显然是不能的,比如访问了非法内存地址,就不能用C++异常机制捕获到。
如果想捕获到更多异常,可以捕获SEH异常。
不过意义不大,最应该做的事情还是好好调试、检查代码,而不是忽略异常。。。

ZGZ1002
ZGZ1002   2016.05.11 09:51

为什么要忽略所有异常呢?有异常肯定程序是有问题的,而且不可能会忽略的。要好好调试才对,检查哪里出错了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Ollydbg异常处理设置项
打开ollydbg点击"选项"-"Debugging options"-"Exceptions"用于设置异常出现时od的默认处理行为。 windows异常机制中对异常的处理为:第一次异常处理过程中,先寻找调试器,如果调试器能处理异常,则结束异常处理流程,否则将异常交由程序的VEH/SEH机制处理;如果程序处理了异常,则结束异常处理,否则,windows进行第二次异常处理过程。"Ignore (p
嵌入式 信号处理中忽略信号以及截获信号处理详解
我们经常在网络编程中遇到的是 signal(SIGPIPE,SIG_IGN);来忽略信号处理客户端或者服务器端异常关闭导致的异常终止或者异常操作 截获信号的函数如下: //end alter static void sig_handle(int signo) { switch(signo) { case SIGSTOP: printf("receive SIGSTOP!\n");
Linux下忽略信号SIGPIPE的方法
最近为测试自己写好的一个服务器,zi
C#高级编程 错误和异常
C#高级编程(第七版)学习笔记 错误和异常,介绍了C#编程中如何使用try catch捕获错误信息,如何处理异常
安全编程-异常处理
一般情况下,程序员没有充分考虑错误条件和异常情况,而是更多地考虑那些期望的情况,这种忽略使得攻击者可以遵循一条错误和异常发生路径来实现攻击。不完善的错误处理机制通常会导致资源泄露。 异常包括已检测的异常和未检测的异常。假如一个方法声明抛出一个已检测的异常,所有调用它的方法就必须处理这个异常或者声明同样也抛出这个异常。这就迫使程序员考虑所有可能会发生已检测异常的地方。未检测异常可以不必声明和处理。
warning C4290: 忽略C++ 异常规范,但指示函数不是__declspec(nothrow)
warning C4290: 忽略C++ 异常规范,但指示函数不是__declspec(nothrow) 2011年03月26日 星期六 15:17 在VS 2008中函数异常说明会得出警告: warning C4290: 忽略C++ 异常规范,但指示函数不是__declspec(nothrow) 警告MSDN中的原文解释如下: 警告消息 忽略C++
OBject-C捕获异常,常用的异常处理方法
虽然在实际编程中NSException运用不多,但也不妨碍了解一下Cocoa异常编程。 异常处理是管理非典型事件(例如未被识别的消息)的过程,此过程将会中断正常的程序执行。如果没有足够的错误处理,遇到非典型事件时,程序可能立刻抛出(或者引发)一种被称之为异常的东西,然后结束运行。 异常的类型 程序抛出异常的原因多种多样,可由硬件导致也可由软件引起。异常的例子很多,包括被零除、下溢
异常规范和c++11
《C++ Primer Plus》第六版 15.3.5 异常规范和C++11 有时候,一种理念看似有前途,但实际的使用效果并不好。一个?这样的例子是异常规范,这是c++98新增的一项功能,但c++11却将其摒弃了。这意味着c++11仍然处于标准之中,但以后可能会从标准中剔除,因此不建议您使用它。 然而,忽视异常规范前,您至少知道它是什么样的,如下所示: double harm(doub
c语言调用iconv忽略不可识别的字符
网上抓来的html数据经常需要进行转码(utf8和gbk互转等),总会出现特殊字符造成 iconv转码失败的情况,例如http://app.tongbu.com/bizhi/newipad/cateshow-1-0-1-515427.html,数据是utf8,如果转换为其他格式编码就会出错。如果不解决这个问题,整个网站都将转码失败。 解决这个问题的方法很简单,只需在目标编码后面加上 //IGNO
忽略程序异常继续执行下面代码
try {    tryCode - 尝试执行代码块}catch(err) {    catchCode - 捕获错误的代码块} finally {    finallyCode - 无论 try / catch 结果如何都会执行的代码块}tryCode必须。检查是否有错误的代码块。err必须(如果使用 catch)。指定局部变量应用的错误。该变量可以引用 Error 对象 (包含发生的错误信息,...