avoid SIGFPE, throw error