数据库异常处理的疑问?
void __fastcall TForm1::Table1DeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
if ( E->ClassType() == __classid(EDBEngineError) ) {
if (((EDBEngineError *)E)->Errors[0]->ErrorCode ==
DBIERR_DETAILRECORDSEXIST)
{
MessageDlg("请首先删除Orders.db和Items.db的相关记录",
mtWarning ,TMsgDlgButtons()<<mbOK,0);
Abort() ;
}
}
}
请问:
// 1、 if ( E->ClassType() == __classid(EDBEngineError) )这一行有什么用?
// 2、EDBEngineError *)E)什么意思?