home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / top2src.zip / TOPLINK.ZIP / TOPERRT.PAS < prev    next >
Pascal/Delphi Source File  |  1996-03-16  |  3KB  |  84 lines

  1. unit TOPErrT;
  2.  
  3. interface
  4.  
  5. implementation
  6.  
  7. var
  8.   OldExit: Pointer;
  9.  
  10. procedure NewExit; FAR;  { MUST be far! }
  11. begin
  12.   If ErrorAddr <> nil then
  13.     begin
  14.     {-Display custom run-time error message }
  15.       Writeln ('------------------------------------------------');
  16.       WriteLn('TOPLink Fatal Run-Time Error #', ExitCode);
  17.       Write ('Description: ');
  18.       Case ExitCode of
  19.           1 : Writeln('Invalid function number.');
  20.           2 : Writeln('File not found.');
  21.           3 : Writeln('Path not found.');
  22.           4 : Writeln('Too many open files.');
  23.           5 : Writeln('File access denied.');
  24.           6 : Writeln('Invalid file handle.');
  25.          12 : Writeln('Invalid file access code.');
  26.          15 : Writeln('Invalid drive number.');
  27.          16 : Writeln('Cannot remove current directory.');
  28.          17 : Writeln('Cannot rename across drives.');
  29.          18 : Writeln('No More Files.');
  30.         100 : Writeln('Disk read error.');
  31.         101 : Writeln('Disk write error.');
  32.         102 : Writeln('File not assigned.');
  33.         103 : Writeln('File not open.');
  34.         104 : Writeln('File not open for input.');
  35.         105 : Writeln('File not open for output.');
  36.         106 : Writeln('Invalid numeric format.');
  37.         150 : Writeln('Disk is write-protected.');
  38.         151 : Writeln('Unknown unit.');
  39.         152 : Writeln('Drive not ready.');
  40.         153 : Writeln('Unknown command.');
  41.         154 : Writeln('CRC error in data.');
  42.         155 : Writeln('Bad drive request structure length.');
  43.         156 : Writeln('Disk seek error.');
  44.         157 : Writeln('Unknown media type.');
  45.         158 : Writeln('Sector not found.');
  46.         159 : Writeln('Printer out of paper.');
  47.         160 : Writeln('Device write fault.');
  48.         161 : Writeln('Device read fault.');
  49.         162 : Writeln('Hardware failure.');
  50.         200 : Writeln('Division by zero.');
  51.         201 : Writeln('Range check error.');
  52.         202 : Writeln('Stack overflow error.');
  53.         203 : Writeln('Heap overflow error.');
  54.         204 : Writeln('Invalid pointer operation.');
  55.         205 : Writeln('Floating point overflow.');
  56.         206 : Writeln('Floating point underflow.');
  57.         207 : Writeln('Invalid floating point operation.');
  58.         208 : Writeln('Overlay manager not installed.');
  59.         209 : Writeln('Overlay file read error.');
  60.         210 : Writeln('Object not initialized.');
  61.         211 : Writeln('Call to abstract method.');
  62.         212 : Writeln('Stream registration error.');
  63.         213 : Writeln('Collection index out of range.');
  64.         214 : Writeln('Collection overflow error.');
  65.         215 : Writeln('Arithmetic overflow error.');
  66.         216 : Writeln('General Protection fault.');
  67.       else
  68.         Writeln('Unknown Error!');
  69.       end; { Case }
  70.       WriteLn('Address = ', Seg(ErrorAddr^), ':', Ofs(ErrorAddr^));
  71.       Writeln ('------------------------------------------------');
  72.     {-Cancel run-time error so you don't get the default message, too }
  73.       ErrorAddr := nil;
  74.     {-Zero the errorlevel }
  75.       ExitCode  := 0;
  76.     end;
  77.   ExitProc := OldExit;
  78. end;
  79.  
  80. begin
  81.   OldExit  := ExitProc;
  82.   ExitProc := @NewExit;
  83. end.
  84.