home *** CD-ROM | disk | FTP | other *** search
- {$D-,I-,S-,R-}
- Unit STI_ERR; { Error Message Unit }
-
- Interface
-
- Implementation
-
- Var
- ExitSave : Pointer; { old error procedure pointer }
-
- {$F+}
- Procedure ErrorProc; { new error procedure }
-
- Var
- Message : String[40];
-
- Begin
- if ExitCode <> 0 then
- begin
- Message := '';
- case ExitCode of
- 1..99 : Message := 'MSDOS Error :';
- 100..149 : Message := 'I/O Error :';
- 150..199 : Message := 'CRITICAL Error :';
- 200..249 : Message := 'RUN TIME Error :';
- else
- Write('Error Code');
- end;
- case ExitCode OF
- 2 : Message := 'File not found ';
- 3 : Message := 'Path not found ';
- 4 : Message := 'Unable to open file ';
- 5 : Message := 'Unable to access file ';
- 6 : Message := 'Not enough file handles ';
- 12 : Message := 'Bad file access code ';
- 15 : Message := 'Bad drive number ';
- 16 : Message := 'Not in current directory ';
- 17 : Message := 'No drive volume ';
-
- 100 : Message := 'Disk read error ';
- 101 : Message := 'Disk write error ';
- 102 : Message := 'Cannot ASSIGN file ';
- 103 : Message := 'Cannot open file ';
- 104 : Message := 'Cannot open file with this name ';
- 105 : Message := 'Cannot read file with this name ';
- 106 : Message := 'Data format error ';
-
- 150 : Message := 'Unknown drive number ';
- 151 : Message := 'Illegal Unit ';
- 152 : Message := 'Drive not ready ';
- 153 : Message := 'Illegal command ';
- 154 : Message := 'Data CRC Error ';
- 155 : Message := 'Illegal drive request ';
- 156 : Message := 'Disk Seek Error';
- 157 : Message := 'Illegal media type ';
- 158 : Message := 'Cannot find sector ';
- 159 : Message := 'Printer not ready ';
- 160 : Message := 'Device write error ';
- 161 : Message := 'Device read error ';
- 162 : Message := 'Hardware error ';
-
- 200 : Message := 'Division by zero ';
- 201 : Message := 'Range Check ';
- 202 : Message := 'Stack Overflow ';
- 203 : Message := 'Heap Overflow ';
- 204 : Message := 'Null or illegal pointer ';
- 205 : Message := 'Floating point overflow ';
- 206 : Message := 'Floating point underflow ';
- 207 : Message := 'Floating point co-processor not installed ';
- 208 : Message := 'Overlay manager error ';
- 209 : Message := 'Overlay file error ';
-
- 255 : Message := 'User Break';
- else
- Write('Unknown Error ');
- end;
- Write(ExitCode, ' '); Write(Message,^G); WriteLn;
- end;
- Writeln;
- ExitProc := ExitSave; { change to the old procedure }
- end;
- {$F-}
-
- begin
- ExitSave := ExitProc; { save the old error procedure }
- ExitProc := @ErrorProc; { change to the new one }
- end.