throws more specific exception