📄 uexception.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 + -