Path: csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Cecil Westerhof Newsgroups: comp.lang.java.programmer Subject: How to handle same sanity checks Date: Thu, 22 Jun 2017 11:10:38 +0200 Organization: Decebal Computing Lines: 23 Message-ID: <87o9tgo0a9.fsf@munus.decebal.nl> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="e57c15ed9d20cb5f0e1e910deb92a515"; logging-data="26012"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Ey7SuOgKXTU1nyehAd8M12zwDwn+lvEU=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-Homepage: http://www.decebal.nl/ Cancel-Lock: sha1:vOxRWN+APJ6dVdvIFDXnX3CW2sw= sha1:VQB5FGQByK5afJCg+AH7yrdThs4= Xref: csiph.com comp.lang.java.programmer:36693 In my code I have several methods that start with: if ((n < MIN_VAL) || (n > MAX_VAL)) { throw new InvalidParameterException(String.format(ERROR_N, n)); } That is not really DRY. I could write a method like: private void checkN(n) { if ((n < MIN_VAL) || (n > MAX_VAL)) { throw new InvalidParameterException(String.format(ERROR_N, n)); } } And then replace all the checks with a call to checkN. But then the exception is generated in the method checkN instead of the method that has a wrong parameter. What is the best way to handle this? -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof