home *** CD-ROM | disk | FTP | other *** search
- {
- JON JASIUNAS
-
- I never use them. if a Program bombs because a disk is full, I just
- > catch the run-time error in an Exit proc and report so (I/O-checking
- > must be set on, of course).
-
- >I am curious, How do you go about Catching the Run-Time Error. Doesn't it
- >just say Runtime Error 103 ?????:?????
-
- You can catch the run-time errors by linking into the Exit chain.
- Here's a small example:
- }
-
- Unit ErrTrap;
-
- Interface
-
- Implementation
-
- Var
- OldExit : Pointer;
-
- Procedure NewExit; Far; { MUST be far! }
- begin
- if ErrorAddr <> nil then
- begin
- {-Display custom run-time error message }
- WriteLn('Fatal error #', ExitCode);
- WriteLn('Address = ', Seg(ErrorAddr^), ':', Ofs(ErrorAddr^));
- {-Cancel run-time error so you don't get the default message, too }
- ErrorAddr := nil;
- {-Zero the errorlevel }
- ExitCode := 0;
- end;
- ExitProc := OldExit;
- end;
-
- begin
- OldExit := ExitProc;
- ExitProc := @NewExit;
- end.
-
-