Best way to throw exception and avoid code duplication

Posted by JF Dion on Programmers See other posts from Programmers or by JF Dion
Published on 2012-12-12T14:28:55Z Indexed on 2012/12/12 17:18 UTC
Read the original article Hit count: 647

I am currently writing code and want to make sure all the params that get passed to a function/method are valid. Since I am writing in PHP I don't have access to all the facilities of other languages like C, C++ or Java to check for parameters values and types

public function inscriptionExists($sectionId, $userId) // PHP

vs.

public boolean inscriptionExists(int sectionId, int userId) // Java

So I have to rely on exceptions if I want to make sure that my params are both integers.

Since I have a lot of places where I need to check for param validity, what would be the best way to create a validation/exception machine and avoid code duplication?

I was thinking on a static factory (since I don't want to pass it to all of my classes) with a signature like:

public static function factory ($value, $valueType, $exceptionType = 'InvalidArgumentException');

Which would then call the right sub process to validate based on the type.

Am I on the right way, or am I going completely off the road and overthinking my problem?

© Programmers or respective owner

Related posts about php

Related posts about exception-handling