关于 系统的错误捕捉问题,请高手关注:
在BCB中,对于系统出现的错误,是否有对应的错误号?如果有的话,可以写一个统一的错误处理函数,利用switch分支语句对系统错误进行分别处理? 问题点数:100、回复次数:9Top
1 楼warton(创业群13734424 http://www.anywhy.cn)回复于 2002-11-22 15:19:44 得分 5
关注此问题Top
2 楼yyfzy(singler)回复于 2002-11-22 15:27:21 得分 5
关注Top
3 楼KingOf007(金雨冷)回复于 2002-11-22 16:44:19 得分 5
用try....catch不行么Top
4 楼zych72(心平气和)回复于 2002-11-22 16:48:44 得分 30
可以啊
void ErrorProc(){
ErrorCode = GetLastError();
switch (ErrorCode){
case xxx:.....
case xxx:....
}
}Top
5 楼KingOf007(金雨冷)回复于 2002-11-22 16:58:01 得分 0
有道理Top
6 楼TR@SOE()回复于 2002-11-24 18:24:37 得分 45
当然是有的。好象GetLastError()这个API就是干这事的。给你看段典型的代码:
char * lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
// Display the string.
MessageBox( NULL, lpMsgBuf, "系统错误", MB_OK|MB_ICONINFORMATION );
// Free the buffer.
LocalFree( lpMsgBuf );
只要我们在可能出错的地方,对条件进行判断,然后根据情况调用这个函数就可以了。Top
7 楼xianyunguhe(闲云孤鹤)回复于 2002-11-25 09:45:57 得分 5
关注中...
不过好象提示错误很多呀,有系统的,内存的,变量的,总之,很多很多,要捕捉挺难的。Top
8 楼wangxin_qaz(常青藤)回复于 2002-11-25 10:50:24 得分 0
Thank you ,every one!
I can't write in Chinese,there are some problems in my computer......I will close this page at once.Top
9 楼lluunn007(书生)回复于 2002-11-25 11:44:53 得分 5
agree zych72(闹闹)Top




