There is no good reason to do this. And in fact declaring a method as throws Exception makes it difficult to use. This is covered by this "example" in the Java Language documentation tree over on StackOverflow:
- Pitfall - Throwing
Throwable,ExceptionorRuntimeExceptionPitfall - ThrowingThrowable,ExceptionorRuntimeException
The short version is that if you declare a method as throws Exception, any code that calls that method must either catch (Exception ...) or have its own throws Exception clause. If you do this consequences are as follows:
You have nullified the compiler's ability to tell you when you haven't handle specific checked exceptions.
Someone reading your API code has no easy way to find out what checked exceptions might actually be thrown or propagated by the method.