should throw instead of return null on other exceptions