Error handling in Oberon procedures/functions.
Dear All, Which is the Oberon best practice of handling errors in procedures/functions? I think, this small and nice paper sets my context well. "Faults in functions, in ALGOL and FORTRAN" by I. D. Hill https://academic.oup.com/comjnl/article-pdf/14/3/315/1165251/140315.pdf With thanks and best regards, Yours sincerely, Srinivas Nayak https://srinivas-nayak.blogspot.com
The answer is different for procedures and functions. For procedures it is normally enough to use a result parameter and test it after each call. For functions, as far as possible the compiler should prevent you from supplying an input value which is not mapped to an output. So the data type of the input should be a mapped subset of the domain of the function. If that is not possible or practical, test the value of the input parameter and invoke the function only if the value is mapped. If that is not possible then behave like n/0, and trap.
On 24 May 2018, at 13:50, Srinivas Nayak <sinu.nayak2001@gmail.com> wrote:
Dear All,
Which is the Oberon best practice of handling errors in procedures/functions? I think, this small and nice paper sets my context well. "Faults in functions, in ALGOL and FORTRAN" by I. D. Hill https://academic.oup.com/comjnl/article-pdf/14/3/315/1165251/140315.pdf
With thanks and best regards,
Yours sincerely, Srinivas Nayak
https://srinivas-nayak.blogspot.com -- Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems https://lists.inf.ethz.ch/mailman/listinfo/oberon
participants (2)
-
Bob Walkden -
Srinivas Nayak