PostConditionException is used to validate computed results in methods and if not within the
supported ranges, throw an appropriate exception describing the problem.
PreConditionException is used to validate incoming arguments to methods and if not within the
supported ranges, throw an appropriate exception describing the problem.