ࠡ⪠ ᪫⥫ 権 (exceptions) EDBEngineError

ଠ  訡 BDE   祭  ᯮ짮  ਫ
 EDBEngineError. ᪫⥫쭠  EDBEngineError ࠡ뢠 
ணࠬ   樨 try ... except.   ᪫⥫쭠
 BDE,    ᮧ ꥪ EDBEngineError  ࠧ  ⮣ 
ꥪ   ᯮ짮  ணࠬ ।,    浪 
  ॡ  ࠢ 樨. ,   ᪫⥫쭮 
樨   ᣥ஢ ᪮쪮 ᮮ饭  訡.  ॡ 
࣠樨 ॡ ᮮ饭  訡  祭 㦭 ଠ樨.
 
,    ⥪ EDBEngineError:
 
   ErrorCount: Integer; 뢠 ⢮ 訡  - Errors; 
      稭  .
 
   Errors: TDBError;  ᥩ,  ᮤঠ ଠ  
     祭 訡;    ந室   ⨯ Integer.
 
   Errors.ErrorCode: DBIResult; 뢠  訡 BDE  ⥪饩
       訡  - Errors.
 
   Errors.Category: Byte; ⥣ 訡, ⭮   ErrorCode.
 
   Errors.SubCode: Byte;  (subcode)  祭  ErrorCode.
 
   Errors.NativeError: LongInt;  㤠 訡, 頥 ࢥ஬;
     ᫨ ,   訡  ࢥ; 頥 SQL ᮬ 祭
        .
 
   Errors.Message: TMessageStr; ᮮ饭  訡, ࢥ  BDE.
 
 樨 try..except ꥪ ᮧ   ࠧ except.
᫥ ᮧ  ࠡ   ࠧ  । ꥪ
  楤  ᫥ 訡. ஬ ⮣,  ᮧ ᢮
ᮡ⢥   ᯮ짮   楫;   
㭪樮 ⥩   ७  ਫﬨ.
 ਬ   ६  ᪫⥫쭮 樨 BDE ᮧ
ꥪ DBEngineError, ।  楤    뤥
ଠ樨  訡.
 
 樨 try..except, ꥪ DBEngineError  ᮧ  
ᨭ⠪, ਢ :
 
  procedure TForm1.Button1Click(Sender: TObject);
  var
    i: Integer;
  begin
    if Edit1.Text > ' ' then begin
      Table1.FieldByName('Number').AsInteger := StrToInt(Edit1.Text);
      try
        Table1.Post;
      except on E: EDBEngineError do
        ShowError(E);
      end;
    end;
  end;
 
 ⮩ 楤  ⪠  祭   ⠡  ⥬
뢠 ⮤ Post ᮮ⢥饩 ⠡.   try..except
砥 ⮫쪮 ⪠ Post. ᫨  ⮬  訡 BDE, 
믮 ᥪ except,  ன ᮧ ꥪ E ⨯ EDBEngineError  
⥬ E ।  楤 ShowError. ,  ⮫쪮 EDBEngineError
뢠   樨.  ॠ쭮 樨 㦭, ᪮॥ ᥣ,
஢  㣨  ᪫⥫ 権.
 
楤 ShowError 砥 ꥪ EDBEngineError, ।  ⢥
ࠬ  ᫥ ᮤঠ騥 ᮮ饭  訡.   ਬ
ଠ  訡 뢠   TMemo.  蠣 ⮨  
। ⢠ ⢨⥫쭮  訡.  ⮣ 㦨
- ErrorCount. ᫥ ⮣,  ⠫ ⭮ ⢮ 訡, 
ᯮ짮 横  㯠     訡  ᢮⢥ Error
 饭 ଠ    TMemo. 
 
  procedure TForm1.ShowError(AExc: EDBEngineError);
  var
    i: Integer;
  begin
    Memo1.Lines.Clear;
    Memo1.Lines.Add('Number of errors: ' + IntToStr(AExc.ErrorCount));
    Memo1.Lines.Add('');
    {Iterate through the Errors records}
    for i := 0 to AExc.ErrorCount - 1 do begin
      Memo1.Lines.Add('Message: ' + AExc.Errors[i].Message);
      Memo1.Lines.Add(' Category: '    + IntToStr(AExc.Errors[i].Category));
      Memo1.Lines.Add(' Error Code: '  + IntToStr(AExc.Errors[i].ErrorCode));
      Memo1.Lines.Add(' SubCode: '     + IntToStr(AExc.Errors[i].SubCode));
      Memo1.Lines.Add(' Native Error: '+IntToStr(AExc.Errors[i].NativeError));
      Memo1.Lines.Add('');
    end;
  end;
