Using such generic exception prevents calling methods from handling differently each kind of error.
public void foo(String bar) throws Throwable { // Noncompliant
throw new RuntimeException("My Message"); // Noncompliant
}
public void foo(String bar) {
throw new MyOwnRuntimeException("My Message");
}
Generic exceptions in signature of overriding methods are excluded
@Override
public void myMethod() throws Exception {...}