"不允许捕捉异常"Checkstyle报告

4 java exception-handling

我正在生成一个Checkstyle嵌入maven网站的报告,并指出其中的一个问题Catching exception is not allowed.我该如何解决这个问题?我只是不想简单地删除代码,如果我没有其他替代方案来解决这个问题.

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 !!!" );
    }
}
Run Code Online (Sandbox Code Playgroud)

我还在学习Java,所以任何形式的指导都会受到赞赏.

谢谢

Mic*_*ael 6

它警告你的是捕捉Exception是一个坏主意.Exception是您可以捕获的最常见的异常类型.你基本上是在说" 无论遇到什么问题,我都可以处理." 这不是真的.可能会发生任何奇怪和奇妙的问题:键盘中断,磁盘空间已满,列表继续.

你说loadClientUserData抛出一个ManagerException,所以你应该抓住那个特定的例外并让其他人继续进一步宣传:

try {
     loadClientUserData( context, logging );
     loadMBeans( context, logging );
} catch (ManagerException e) {
     throw new RuntimeException( "Error during startup of service !!!" );
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅以下问题: