2013-03-19 5 views
4

в моей команде мы используем checkstyle для улучшения наших стандартов кодирования, но теперь мы сталкиваемся с правилом, которое можно улучшить.настроить checkstyle, чтобы игнорировать пустой блок catch

Правило Empty Block дает нам предупреждение о пустом блоке catch (без кода java и без комментария), но при стандартной конфигурации он также генерирует предупреждение, если блок содержит комментарий.

например.

Два не должно приводить предупреждение:

try { 
    // some code 
} catch (NumberFormatException ignore) { 
    // ignore 
} 

try { 
    // some code 
} catch (NumberFormatException e) { 
    logger.debug("some debug"); 
} 

Это должно привести предупреждение:

try { 
    // some code 
} catch (NumberFormatException ignore) { 

} 

Как мы можем улучшить Checkstyle, чтобы дать нам только предупреждение, если нет комментариев и не ява код находится в блоке catch?

Я искал решение, но у stackoverflow и google его не было.

Может кто-нибудь мне помочь?

+0

http://stackoverflow.com/questions/4023185/how-to-disable-a-particular-checkstyle-rule-for-a-particular-line-of-code –

ответ

5

Общий вопрос о том, как адаптировать Checkstyle это ansered этим вопрос:

документация Checkstyle для пошива проверки блоков здесь:

И конкретная конфигурация стиль вам нужно:

<module name="EmptyBlock"> 
    <property name="option" value="text"/> 
    <property name="tokens" value="LITERAL_CATCH"/> 
    </module> 
+0

Хотя это было правдой, когда ответил, теперь это EmptyCatchBlock, как указано ниже. –

2

Эта проблема рассматривалась в https://github.com/checkstyle/checkstyle/issues/571, новая регистрация была создана - EmptyCatchBlock - http://checkstyle.sourceforge.net/config_blocks.html#EmptyCatchBlock

В конфигурации EmptyBlock, пожалуйста, удалите CATCH маркер, так как проверка будет сделано по-другому Проверить сейчас

Смежные вопросы