I don't understand this either any more, since just throwing an error works perfectly now. I don't know what happened previously!