MORSE Error Messages
29NOV05
MORSE should intercept any error condition arising from
user-input and print a helpful message to the terminal and the
morse.log file.
If, when running MORSE,
instead of the standard set of messages to the terminal
beginning 'R-...' or
'I-...' you get a message beginning 'F-...' a fatal
error has been detected and the program stops at that point.
The same error message will have been
printed as the last record in the morse.log file so
you don't need to remember it (unless, of course, the error occurred
while writing a different message to the log file itself).
These messages always start with
F-ABCDEF:... where ABCDEF (usually 6 characters)
is the subroutine module abcdef.for
where the error was detected.
Almost always fatal errors will occur while
the driver table is being read or the calculations are being set up,
ie before the first message I-MORSE: Processing ...
gets printed to the screen.
Most errors will either be due to
- F-DRVKEY: Error reading driver table: ...
- Incorrectly structured driver table.
- F-DRVXYZ: ...
- Error attempting to read the *XYZ section of driver table
- F-OPNFIL: I/O failure on file. IOSTAT= 29 (or some
other number than 29, depending on machine and problem).
- Error finding/reading file, check morse.log for the file that
it was attempting to open
- F-ABCDEF: ... MAXXYZ too small ... (or some other message
involving a parameter MAX...)
- Parameters beginning MAX... are array sizes, stored in
module rfmsiz.inc
If the message isn't self-evident,
it is usually useful to read the file
morse.log to check
the most recently attempted operation, eg which section of the driver
table was being read or file was being opened. If it still isn't clear,
check that the last record of the driver table (*END) has
a carriage return at the end of it!
There are a further class of error messages of the form
- F-ABCDEF: Logical Error
- Which refer to unexpected conditions which have arisen
(eg falling off the end of a DO loop) due to an internal coding
error rather than any user-input. In these cases, please
inform me.