⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uexception.pas

📁 楠楠写的DBiocp例子都是源码
💻 PAS
字号:
unit uException;

interface

uses
  Windows, SysUtils, uWin32Const;

type  
  TException = class(Exception)
  protected
    FErrorCode: Integer;
    FErrorSubCode: Integer;
    FErrorMessage: String;
    function GetErrorMessage: String;
  published
    property  ErrorMessage: String read GetErrorMessage;
    property  ErrorCode: Integer read FErrorCode;
    property  ErrorSubCode: Integer read FErrorSubCode;
  public
    constructor Create(Code: Integer; SubCode: Integer); overload;
    constructor Create(Code: Integer; SubCode: Integer; const Details: String); overload;
    destructor  Destroy; override;
  end;

implementation

constructor TException.Create(Code: Integer; SubCode: Integer);
begin
  inherited Create('');
  FErrorCode := Code;
  FErrorSubCode := SubCode;
  FErrorMessage := '';
end;

constructor TException.Create(Code: Integer; SubCode: Integer; const Details: String);
begin
  inherited Create('');
  FErrorCode := Code;
  FErrorSubCode := SubCode;
  FErrorMessage := Details;
  Message := 'Error code is ' + IntToStr(Code) + '. Error subcode is ' +
    IntToStr(FErrorSubCode) + '. Details are ' + Details;
end;

destructor  TException.Destroy;
begin
  inherited Destroy;
end;

function   TException.GetErrorMessage: String;
begin
  Result := uWin32Const.ExceptionMessages[FErrorCode];
  if FErrorMessage <> '' then
    Result := Result + ' Details are: ' + FErrorMessage;
end;

end.



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -