actually throw proper v8 exceptions