@property - take it behind the woodshed and shoot it?

Jacob Carlborg doob at me.com
Sat Jan 26 07:02:31 PST 2013


On 2013-01-25 17:37, eles wrote:

> One more thing (see also this:
> http://www.25hoursaday.com/CsharpVsJava.html#properties)
>
> In order to avoid properties throwing exceptions, maybe is wise
> to impose getters and setters to be nothrow.
>
> Why? Because code like this (C#) seems a bit unnatural:
>
> try{
>
> myClock.Hours   = 28;  /* setter throws exception because 28 is
> an invalid hour value */
> myClock.Minutes = 15;
> myClock.Seconds = 39;
>
> }catch(InvalidTimeValueException itve){
>
> /* figure out which field was invalid and report error */
>
> }

One of the points of properties is to have a field with validation. To 
indicate the validation failed you would throw an exception. Therefore 
properties need to be able to throw exceptions.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list