当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 如何防止程序崩溃

如何防止程序崩溃

2019年09月21日  | 移动技术网IT编程  | 我要评论

小魔术教学视频,奇乐电影,12306垃圾

//程序崩溃规避

//windows
1、设置编译器"enable c++ exceptions"为"/eha",即"yes with seh exceptions",
使得应用程序可以捕获因自身引起的大部分系统异常,少部分不可回避的系统异常依然
会导致程序崩溃退出;
2、用"try{}catch(...){}"包裹可能会发生崩溃(越界、段错误、除零等操作)的代码段,
在catch中处理异常。

* 高版本vc提供_set_invalid_parameter_handler函数,亦可处理致命异常,因为这个
是全局生效的,所以不推荐使用。

//unix
1、越界、段错误、除零等操作通常会触发信号"sigsegv",可以使用signal函数设定指定
信号的处理函数,除了"sigsegv",还有若干个可被应用程序截获的信号,可以根据自
己的需求去截获这些信号信号并处理;
2、如果想跳回某一处代码(比如崩溃之前设置的"jmp_buf"标志),可以在signal处理函
数中使用longjmp函数跳转至指定的"jmp_buf"标志处。

* 因为部分信号为标c里定义的,针对部分信号(比如"sigsegv")的截获处理亦适用于windows平台。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网