You could even create generate your personal type named InvalidInteger or some thing. You happen to be returning null for a poor querystring, right? You might return that way too for an invalid integer, so null would imply basically 'something is poor And that i have no benefit in your case', and perhaps pass a reasonCode by reference into the func