// 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 */ } }