Hi Glen,

I would have Sonar ignore these warnings, and see if it is possible to annotate 
the source with a suppression
for the cases that are checked and deemed a correct use of an unchecked 
exception.
After that the Sonar warning can be enabled again. For library-type methods 
unchecked exceptions are the norm imho
(look at the String javadoc). As you say, the exceptions that are thrown should 
document themselves so removing
the throw clauses from code and javadoc is not the way to go.

        regards, Andre

-----Original Message-----
From: Glen Mazza [mailto:glen.ma...@gmail.com] 
Sent: 18 July 2013 22:54
To: jspwiki-dev@incubator.apache.org
Subject: Sonar complaint: declaring unchecked exceptions in the throws clause


Hi Team, in 40-44 cases (which isn't all that much), Sonar is reporting that 
we're unnecessarily declaring unchecked (Runtime-derived) exceptions such as 
MissingResourceException and IllegalArgumentException in the "throws" clause, 
as listed here:

https://analysis.apache.org/drilldown/issues/139724?&rule=checkstyle%3Acom.puppycrawl.tools.checkstyle.checks.coding.RedundantThrowsCheck&rule_sev=MINOR&severity=MINOR#
(click on TextUtil, InternationalizationManager in the lower-right corner).

These can be kind of nice because it becomes better self-documenting that way, 
although prevailing opinion[1] seems to be that RuntimeExceptions should be 
those outside of anybody's control, and checked (must declare in the throws 
clause) exceptions should be used instead when the exception is something 
somebody can do something about.

What I'd like to do is remove them from the "throws" clause--quieting 
Sonar--but keep them in the Javadoc above, so they're still documented.  
(Alternatively, what I can do is disable this check--have Sonar ignore
it.)  Later, for these exceptions, we may wish to move to checked exceptions if 
any of these are something a developer do something about, while leaving 
IllegalArgumentException, etc., for programming errors outside of any user's 
control.  WDYT?

Thanks,
Glen

[1] http://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html

Reply via email to