title: Proper exception to raise if None encountered as argument
body: <p>What is the "proper" exception class to raise when one of my functions detects <code>None</code> passed where an argument value is required?  For instance:</p>
  
  <pre><code> def MyFunction(MyArg1, MyArg2):
  
       if not MyArg2:
            raise ?Error?
  </code></pre>
  
  <p>I think I've seen <code>TypeError</code> used here (and it's true that I'm receiving a <code>NoneType</code> where some other type is expected) but that doesn't strike me as quite right for this situation where I think the Exception could be more explicit.</p>