more specific exception throwing.