Use exceptions rather than null for handling exceptional states