Mike,

In this case (although Monitor is more advanced)... you could also have
written

        If      Z = 0
           Fix it
        Else
        Eval    X = Y / Z
        EndIf

To prevent is always better than to cure !

Kind regards,
Paul

-----Original Message-----
From: Wills, Mike N. (TC) [mailto:MNWills@taylorcorp.com]
Sent: 05 March, 2002 17:05
To: 'rpg400-l@midrange.com'
Subject: RE: Divide by zero monitoring


thanks, we are still currently at V4R5 :-(

-----Original Message-----
From: Jon Paris [mailto:Jon.Paris@Partner400.com]
Sent: Monday, March 04, 2002 7:20 PM
To: rpg400-l@midrange.com
Subject: Divide by zero monitoring


 > For the EVAL statement, is there a way to monitor for divide by zero
errors?

If you are on V5R1 - YES.  Use the MONITOR/ENDMON pair around any code where
this may happen and code the error recovery in the ON-ERROR section.  Like
so:

     C                   Monitor
     C                   Eval      X = Y / Z
     C                   On-Error  DivideByZero
     C*                     Fix it!
     C                   EndMon

You are not restricted to a single operation - there could be a whole bunch
of stuff in between Monitor and On-Error.  It's great for validating
transactions that may contain "dirty" numeric data.  Just scream through it
and fix it if it blows. Much faster than having to test each field.

If you are on a release earlier than V5R1 - Sorry.

Jon Paris
Partner400




As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.