should these perform this check? what about throwing an exception?