Esto es sencillo.
Primero, ¿por qué necesitas crear tu propia excepción cuando ya existe una pensada para eso? En ocasiones es necesario, pero con los datos que aportas no lo parece.
Segundo, da igual que sean excepciones creadas por ti, la diferencia es de quien heredan tus excepciones.
Si heredan de Exception tendrás una checked, por lo tanto tanto en el madre como en la hija tendrás que añadir el throws. Si heredan de RuntimeException no.
http://docs.oracle.com/javase/7/docs...Exception.html Cita: The class Exception and any subclasses that are not also subclasses of RuntimeException are checked exceptions. Checked exceptions need to be declared in a method or constructor's throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.