All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
visual c++中的错误处理

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 22:40:22 Browse times: 319 Comment times: 0

visual c++中的错误处理


Head photo

Go homepage
Upload pictures
Write articles

visual c++中的错误处理

捕捉错误
1.系统自动捕捉错误
程序在执行过程中产生错误,如果不进行处理,程序很可能会中断离开,无法再回到错误产生前的状况继续执行程序。
在Visual C++开发环境中,如果程序在运行时产生错误,即使用户不进行任何错误处理,VisualC++也会捕捉到这个错误,并以对话框的形式显示异常信息,如果不是致命的错误,会让程序继续执行。
2.用户捕捉错误
虽然Visual C++能够自动捕捉错误并进行处理,但只是进行一般的处理,即避开发生异常的程序代码。它没有排除掉错误发生的原因,如果保持原来的状态再进行相同的操作,仍然会发生同样的错误。为了让程序能够更顺畅的执行,开发人员需要在程序中对可能产生的错误进行处理,当错误产生时,使程序能够按预先目的对错误进行特殊处理
C++中的错误处理
在C++中,当程序产生错误时,系统会自动触发错误,但是开发人员也可以根据需要自行触发错误。在程序中,可以使用Raise指令触发错误,其语法如下:
throw 异常类的实例
& 说明:throw语句应放在错误处理语句,否则,Raise语句之后的程序不会执行,因为该语句触发了错误,程序产生中断,但是用户并没有进行处理,而由系统进行默认的处理。
示例如下:
m_edit.SetWindowText("执行");
throw "触发异常";
m_edit2.SetWindowText("不执行"); // No Excute For Ever
m_edit3.SetWindowText("不执行"); // No Excute For Ever
在上面的代码中,后面的两句代码永远也不会执行,但是如果同样的代码出现在错误处理语句中,情况就不同了。示例如下:
try
{
m_edit.SetWindowText("执行");
throw "触发异常";
}
catch (...)
{
m_edit2.SetWindowText("异常产生时执行"); // Excute when Exception Raise
}
m_edit3.SetWindowText("正常执行"); // Excute Normally
在上面的代码中,语句“m_edit2.SetWindowText("异常产生时执行")”在错误产生时执行,而语句“m_edit3.SetWindowText("正常执行")”在错误产生时也能够执行。





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.