// Source: https://dev.eclipse.org/sonar/rules/show/squid:S1141

// Nesting try-catch blocks severely impacts the readability of source code 
// because it makes it to difficult to understand which block will catch 
// which exception.

//The following code:
try {
  try {                                  // Non-Compliant
    doSomething();
  } catch (RuntimeException e) {
    /* Ignore */
  }

  doSomethingElse();
} catch (Exception e) {
  /* ... */
}

// should be refactored into:

try {
  dedicatedMethod();                     // Compliant
  doSomethingElse();
} catch (Exception e) {
  /* ... */
}

/* ... */

private void dedicatedMethod() {
  try {                                     // Compliant
    doSomething();
  } catch (RuntimeException e) {
    /* Ignore */
  }
}