Si el método lo declaras como "throws Exception" ya no es necesario que hagas un try/catch dentro del método para capturar posibles excepciones pues, sea del tipo que sea (todas heredan de Exception), se propagará automáticamente en caso de lanzarse.
Dónde es mejor tratar una excepción depende de cómo tengas estructurado el programa. Lo importante es que se entere quien se tenga que enterar, y que no se entere al que le da igual.