throw errors async

so that they can't be caught by any try catch statements.
Its potentially inconsistant otherwise too