Experimental

i guess passing the exception into the onError functions would work well, then the user can just throw it again