Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: interim save....

...

This compliant solution catches any exception thrown, and wraps it inside a custom exception, thereby consequently limiting the exceptions that can be thrown.

Code Block
bgColor#ccccff
class DoSomethingException extends Exception {
  public DoSomethingException(Throwable cause) {
    super( cause);
  }
    
  // other methods
};

private void doSomething() throws DoSomethingException {
  try {
    // code that might throw an Exception
  } catch (Throwable t) {
    throw new DoSomethingException(t);
  }
}

This code is valid by ERR14-EX0 of guideline rule ERR14-J. Do not catch RuntimeException.

Exception wrapping is a common technique to safely handle unknown exceptions, for another example, see guideline rule ERR10-J. Do not let code throw undeclared checked exceptions.

...