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
