Using such generic exception prevents calling methods from handling differently each kind of error.
The following code snippet illustrates this rule:
public void foo(String bar) throws Throwable { // Non-Compliant throw new RuntimeException("My Message"); // Non-Compliant } public void foo(String bar) { throw new MyRuntimeException("My Message"); // Compliant }