8.2.2  调用abort()

8.2.2 调用 abort()

异常(例如除数为0导致的异常)发生时,处理方式之一是调用abort()函数。abort()函数的原型位于头文件cstdlib中,典型实现是向标准错误流发送消息abormal program termi-nation,然后终止程序。之后函数的返回值会通知操作系统处理失败。abort()函数是否要刷新文件缓冲区取决于具体的实现过程。在需要的情况下,也可以使用exit()函数终止程序运行。exit()函数可以完成刷新缓冲区的功能,但不能显示消息。

abort()函数的原型为:

978-7-111-51399-5-Chapter08-51.jpg

exit()函数的原型为:

978-7-111-51399-5-Chapter08-52.jpg

abort()函数和exit()函数一旦被执行,程序即终止。在Visual C++ 6.0环境中,使用a-bort()函数时会弹出“异常退出”对话框;而使用exit()函数则不会弹出提示信息,程序将直接退出。

例8-2

978-7-111-51399-5-Chapter08-53.jpg

978-7-111-51399-5-Chapter08-54.jpg

程序执行结果:

978-7-111-51399-5-Chapter08-55.jpg

之后弹出如图8-1所示的对话框。

978-7-111-51399-5-Chapter08-56.jpg

图8-1 例8-2执行时弹出的异常对话框

将例8-2中的abort()函数替换为exit(),则程序不会弹出上述的异常对话框。类似例8-2中除数为0的错误,依靠程序员编写程序来避免是不现实的。