MPE/iX - CI Programming for Stability

July 18, 2008 HP World '01 40
Pass three...
Let’s try to get the error handling nailed...
...
errclear
continue
listfile !fileset,6;seleq=[code=NMPRG] >*x
if hpcierr > 0 then
# print progf which contains the error
print *x
return
elseif hpcierr < 0 then
# hide warning and erase the contents of progf (the warn text).
print *x >$null
errclear
endif
continue
listfile !fileset,6;seleq=[code=PROG] >>*x
if hpcierr > 0 then
# got an error, maybe the progf file is full? Cannot display progf as
# above since it could contain NMPRG files. Also cannot print a subset of
# progf since FPOINT fails on MSG files.
echo !hpcierrmsg
return
elseif hpcierr < 0 then
# It would be nice to remove the last two records from progf, but
# since it is a MSG file we cannot use :PRINT ;start=eof to do this.
# Ignore the warn but remember the warn text is in progf!
endif
...