Relax exception check so that it only warns on catching Throwable and Error. Fix #159

This commit is contained in:
Hackerpilot 2014-05-14 18:02:18 -07:00
parent 8b4b2b342f
commit 43a8284c07
1 changed files with 3 additions and 4 deletions

View File

@ -15,7 +15,7 @@ import analysis.base;
* --- * ---
* try { * try {
* choose(pikachu); * choose(pikachu);
* } catch (Exception e) { * } catch (Throwable e) {
* ... * ...
* } * }
* --- * ---
@ -42,13 +42,12 @@ class PokemonExceptionCheck : BaseAnalyzer
c.accept(this); c.accept(this);
return; return;
} }
if (identOrTemplate.identifier.text == "Exception" if (identOrTemplate.identifier.text == "Throwable"
|| identOrTemplate.identifier.text == "Throwable"
|| identOrTemplate.identifier.text == "Error") || identOrTemplate.identifier.text == "Error")
{ {
immutable column = identOrTemplate.identifier.column; immutable column = identOrTemplate.identifier.column;
immutable line = identOrTemplate.identifier.line; immutable line = identOrTemplate.identifier.line;
addErrorMessage(line, column, "Avoid catching Exception, Error, and Throwable"); addErrorMessage(line, column, "Catching Error or Throwable is a really bad idea.");
} }
c.accept(this); c.accept(this);
} }