Exception raising logic moved to calling code