mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 16:09:31 +02:00
* overloaded version of raiselastoserror that allows custom errorcodes
to be raised, patch by Cytax, Mantis #21092 git-svn-id: trunk@20084 -
This commit is contained in:
parent
96e8e89e16
commit
1f40ff2362
@ -19,7 +19,8 @@ Type TExecuteFlags = Set of ( ExecInheritsHandles);
|
||||
{$ifdef HAS_OSERROR}
|
||||
Function GetLastOSError : Integer;
|
||||
{$endif}
|
||||
Procedure RaiseLastOSError;
|
||||
Procedure RaiseLastOSError;overload;
|
||||
Procedure RaiseLastOSError(LastError: Integer);overload;
|
||||
Function GetEnvironmentVariable(Const EnvVar : String) : String;
|
||||
Function GetEnvironmentVariableCount : Integer;
|
||||
Function GetEnvironmentString(Index : Integer) : String;
|
||||
|
@ -408,27 +408,34 @@ begin
|
||||
end;
|
||||
|
||||
{$IFDEF HAS_OSERROR}
|
||||
Procedure RaiseLastOSError;
|
||||
|
||||
var
|
||||
ECode: Cardinal;
|
||||
E : EOSError;
|
||||
|
||||
Procedure RaiseLastOSError;overload;
|
||||
begin
|
||||
ECode := GetLastOSError;
|
||||
If (ECode<>0) then
|
||||
E:=EOSError.CreateFmt(SOSError, [ECode, SysErrorMessage(ECode)])
|
||||
RaiseLastOSError(GetLastOSError);
|
||||
end;
|
||||
|
||||
Procedure RaiseLastOSError(LastError: Integer);overload;
|
||||
var
|
||||
E : EOSError;
|
||||
begin
|
||||
If (LastError<>0) then
|
||||
E:=EOSError.CreateFmt(SOSError, [LastError, SysErrorMessage(LastError)])
|
||||
else
|
||||
E:=EOSError.Create(SUnkOSError);
|
||||
E.ErrorCode:=ECode;
|
||||
E.ErrorCode:=LastError;
|
||||
Raise E;
|
||||
end;
|
||||
{$else}
|
||||
Procedure RaiseLastOSError;
|
||||
|
||||
{$else}
|
||||
Procedure RaiseLastOSError;overload;
|
||||
begin
|
||||
Raise Exception.Create('RaiseLastOSError not implemented on this platform.');
|
||||
end;
|
||||
|
||||
Procedure RaiseLastOSError(LastError: Integer);overload;
|
||||
begin
|
||||
RaiseLastOSError;
|
||||
end;
|
||||
|
||||
{$endif}
|
||||
Procedure AssertErrorHandler (Const Msg,FN : ShortString;LineNo:longint; TheAddr : pointer);
|
||||
Var
|
||||
|
Loading…
Reference in New Issue
Block a user