× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.




On 14/05/2010, at 4:06 PM, David FOXWELL wrote:

Well, now I'm wondering about the value of using CONST at all. I don't see that that's much protection against anything unless you don't test. It seems we only really need it to indicate which parameters are intended to be used as input only. The kind of problem I've had without using CONST could be waiting to happen in many other procedures.


Pah! The compiler can't protect you from stupidity. The problem was caused entirely by you trying to stuff 9 pounds in a 7 pound bag and not expecting it to overflow i.e., not paying attention to what you were doing. Sure, without CONST or VALUE the compiler would have caught the mismatch but consider the reverse situation where you might want to pass a smaller value or a different data type or a literal; in all these cases the compiler will assist you by verifying the base data type (i.e., numeric vs. character vs. date) is correct and will convert the actual type to the expected type. This makes the procedure far more flexible and useful than forcing the consumer to define an exactly matching data type.

Note that you would have received exactly the same error if you'd tried an arithmetic EVAL that resulted in a value too large for the variable e.g. small = EVAL some-bloody-huge-arithmetic-expression. Do you expect the compiler to protect you from that situation too? Both of these cases are run-time errors for which proper exception handling can be implemented to at least catch and notify you of the problem.

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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.