Java – “do not allow exceptions to be caught” checkstyle Report
I'm generating a checkstyle report embedded in Maven site, and one of the problems is that it indicates that exceptions are not allowed to be caught How can I solve this problem? I just don't want to simply delete the code if I don't have another alternative to solve this problem
public void contextInitialized(ServletContextEvent event) { super.contextInitialized(event); ServletContext context = event.getServletContext(); setupContext(context); LoggingHandler logging = (LoggingHandler) AppContext.getBean( "loggingHandler" ); try { loadClientUserData( context,logging ); loadMBeans( context,logging ); } catch (Exception e) { throw new RuntimeException( "Error during startup of service !!!" ); } }
I'm still learning Java, so any form of guidance will be appreciated
thank you
Solution
It warns you that catching exceptions is a bad idea Exceptions are the most common types of exceptions you can catch You're basically saying, "no matter what problem you encounter, I can handle it." It is not true. There may be any strange and wonderful problems: the keyboard is interrupted, the disk space is full, and the list continues
You said that loadclientuserdata threw a managerexception, so you should catch that specific exception and let any other exception propagate further:
try { loadClientUserData( context,logging ); loadMBeans( context,logging ); } catch (ManagerException e) { throw new RuntimeException( "Error during startup of service !!!" ); }
For more information, see the following questions:
> Is it really that bad to catch a general exception? > In Java,what is the difference between catch a generic exception and a specific exception (eg. IOException?)