mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 18:51:53 +01: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
	 marco
						marco