關於 OleException handler |
尚未結案
|
hkguy80
一般會員 發表:20 回覆:21 積分:8 註冊:2004-09-06 發送簡訊給我 |
我新增record 時 遇到oleException, 其大意為我 新增了 相同record, 我解決的方法為先select 1 次,如有相同record 則 跳過新增record.
但我想這個方法不大好,希望採用exception handler. 但我只知expception 的 message, 卻不知其Id.
問題是, 若我只跟據exception 的 message 去決定 handle 某個expcetion. 會否因該message是 中文或英文而導致未能handle 同一個expcetion ?
我是否應根據其 expcetion Id 來決定 handle 它或 不 handle 它?
又, 我如何找到其 exception Id 呢?
謝謝!
|
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
您可以試著攔截 EOleException 看看。
void __fastcall TForm1::Button1Click(TObject *Sender) { try { ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("insert into test (a, b) values('1', '2')"); ADOQuery1->ExecSQL(); } catch(EOleException &e) { String msg; /* e.ErrorCode 就是你的錯誤代碼 */ msg.sprintf("Error Code = [0x%X], Error Message = [%s]", e.ErrorCode, e.Message.c_str()); ShowMessage(msg.c_str()); } catch(...) { ShowMessage("other error"); } }發表人 - allenchan 於 2004/12/09 02:04:20 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |