throw exceptions so Guice catches them