title: mvc action invalid arguments gives argumentexception 500 instead of 404
body: <p>When i have a controller action like this.</p>
  
  <pre><code>public ActionResult _Files(long parentid)
          {
  </code></pre>
  
  <p>if you call the action from a browser without a parentid. It throws a System.ArgumentException and a 500 response</p>
  
  <blockquote>
    <p>The parameters dictionary contains a null entry for parameter
    'parentid' of non-nullable type 'System.Int64' for method
    'System.Web.Mvc.ActionResult _Files</p>
  </blockquote>
  
  <p>The action is NOT supposed to be called without a PARENTID by design. Is there a way to not throw an exception (and return 500 response back) and instead return a 400 bad request or a 404 not found ( either of which would make more sense IMO). Looking for a solution that would do this in a generic way across the webapplication ?</p>