[Lazarus] How do Lazarus users handle exceptions in procedures which are running in data modules?
Antonio Fortuny
a.fortuny at sitasoftware.lu
Wed Mar 6 13:58:35 CET 2013
>
> IMHO if you always functions that have a boolean result and an output
> message parameter, you do not uses the power of Exceptions.
> Depends, depends... but you can use some public methods with boolean
> results but the private methods raises an exception if something was
> broken, then you catch the exception - that you know what this is
> because this is your code - and returns True/False in the public
> method.
This is another opinion and I'll not argue against it. It's simply a
different view of mine. Anyway. When dealing with data, that's what I
basically do in a DM, all components I use are supposed to work with
exceptions. That's why all lines calling component methods or properties
which could potentially raise an exception are enclosed in my own
try...except blocks. Those blocks are there to avoid the program to
crash whithout letting the user know what's going on as far as the
presentation layer does its own work.
In a normal run, I'm not interested at all on which piece of code fails,
I just want to know that somethig failed and why. Using the more or less
explicit exception message most of the time it is fair enough to inform
the user (who then in turn will take developper's advice)
>
> In many cases I have an Exception type for each unit and one for each
> class that inherited from this global type unit.
I do this sometimes too. But only when the exception type is a means of
warning the presentation layer that a special situation araised. And I
can then modulate the exception message in a more convenient way.
>
> Marcos Douglas
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
More information about the Lazarus
mailing list