Contributor: JON JASIUNAS 
{
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.
 

AltStyle によって変換されたページ (->オリジナル) /