better throw an instance of Error, not string

Error objects give you a stack trace, strings don't.