=== is related to: S2486 === relates to: S1148 === on 30 Jul 2013, 16:55:25 Freddy Mallet wrote: Is implemented by \http://jira.codehaus.org/browse/SONARJAVA-255 === on 8 Aug 2013, 08:27:26 Dinesh Bolkensteyn wrote: We need to know: 1) All possible logger objects: LOGGER, Logger, logger 2) All possible logging methods: log(), warn(), warning(), error(), info(), debug() There should be at least one logging method in the block having BOTH the exception as an argument + some other argument. === on 8 Aug 2013, 13:55:29 Freddy Mallet wrote: Conditions to log an issue : * Either : The original exception is not used inside the try-catch block as a method parameter * Or : When the original exception is used, the method call have only one parameter -> this original exception === on 8 Aug 2013, 16:35:00 Dinesh Bolkensteyn wrote: I guess this will end up being too strong. You can't do stuff like: ---- catch (IOException e) { throw Throwables.propagate(e); } ---- === on 26 Aug 2013, 08:04:32 Dinesh Bolkensteyn wrote: In fact we couldn't even do stuff like: ---- catch (RuntimeException e) { throw e; } catch (Exception e) { /* ... */ } ---- This is now fixed. Guava's use case is still not allowed for the time being. === on 11 Mar 2014, 06:56:32 Dinesh Bolkensteyn wrote: Update ticket: \https://jira.codehaus.org/browse/SONARJAVA-446 === on 23 Jun 2015, 08:24:17 Evgeny Mandrikov wrote: \[~ann.campbell.2] I'm wondering how and why this references Cppcheck "exceptRethrowCopy" ? === on 23 Jun 2015, 11:50:27 Ann Campbell wrote: \[~evgeny.mandrikov] the message for exceptRethrowCopy is "Throwing a copy of the caught exception instead of rethrowing the original exception. (since Cppcheck 1.52)" If you're throwing a copy, you're not preserving the original. === on 23 Jun 2015, 13:45:38 Evgeny Mandrikov wrote: \[~ann.campbell.2] To be precise - Cppcheck rule "exceptRethrowCopy" detects following case: {noformat} catch (Exception &e) { throw e; // use of copy-constructor, use "throw;" to avoid call of copy-constructor } {noformat} Looking on current examples, I'm wondering why you consider exact-copy as not preservation of original. Also IMO motivation behind Cppcheck rule is different than description of this RSPEC. Note that {cpp} has no built-in notion of stack trace, compared to Java. === on 25 Jun 2015, 12:26:32 Ann Campbell wrote: CPPCheck mapping removed === on 28 Sep 2015, 05:47:26 Ramsatish Jagajyothi wrote: If java code is something like this, this violation is showing up which is false positive throw (cause instanceof RuntimeException ?(RuntimeException)cause: new XXXSystemException( cause, cause.getMessage(), e.getErrorCode()) ); I think this rule is not able to look into the throw params with ternary operator. === on 13 Oct 2015, 11:59:53 Ann Campbell wrote: \[~ramsatish] please raise questions on the implementation of rules in individual languages on the https://groups.google.com/forum/#!forum/sonarqube[SonarQube Google group].