From d740f2e1cdb05f20a48bf7d5dcebdcd0faae6ddd Mon Sep 17 00:00:00 2001 From: Ruslan Diachenko Date: Sun, 30 Aug 2015 21:44:29 +0100 Subject: [PATCH] Issue #1566: IllegalCatch violations fixed for Checker --- .../puppycrawl/tools/checkstyle/Checker.java | 41 ++++++++++--------- .../tools/checkstyle/CheckerTest.java | 3 +- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java b/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java index 320f6a6e6..fe74d30bf 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java @@ -152,35 +152,38 @@ public class Checker extends AutomaticBean implements MessageDispatcher { protected void setupChild(Configuration childConf) throws CheckstyleException { final String name = childConf.getName(); + final Object child; + try { - final Object child = moduleFactory.createModule(name); + child = moduleFactory.createModule(name); + if (child instanceof AutomaticBean) { final AutomaticBean bean = (AutomaticBean) child; bean.contextualize(childContext); bean.configure(childConf); } - if (child instanceof FileSetCheck) { - final FileSetCheck fsc = (FileSetCheck) child; - fsc.init(); - addFileSetCheck(fsc); - } - else if (child instanceof Filter) { - final Filter filter = (Filter) child; - addFilter(filter); - } - else if (child instanceof AuditListener) { - final AuditListener listener = (AuditListener) child; - addListener(listener); - } - else { - throw new CheckstyleException(name - + " is not allowed as a child in Checker"); - } } - catch (final Exception ex) { + catch (final CheckstyleException ex) { throw new CheckstyleException("cannot initialize module " + name + " - " + ex.getMessage(), ex); } + if (child instanceof FileSetCheck) { + final FileSetCheck fsc = (FileSetCheck) child; + fsc.init(); + addFileSetCheck(fsc); + } + else if (child instanceof Filter) { + final Filter filter = (Filter) child; + addFilter(filter); + } + else if (child instanceof AuditListener) { + final AuditListener listener = (AuditListener) child; + addListener(listener); + } + else { + throw new CheckstyleException(name + + " is not allowed as a child in Checker"); + } } /** diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java index 5c2312494..ab72a7ec3 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java @@ -256,8 +256,7 @@ public class CheckerTest { fail("Exception is expected"); } catch (CheckstyleException ex) { - assertEquals("cannot initialize module java.lang.String " - + "- java.lang.String is not allowed as a child in Checker", ex.getMessage()); + assertEquals("java.lang.String is not allowed as a child in Checker", ex.getMessage()); } }