throw exception not return null