title: What is the difference between ArgumentException and just Exception?
body: <p>In our professor's example code he has one snippet that looks like this:  </p>
  
  <pre><code>if (name == null || name == "")
      throw new ArgumentException("name is null or empty");
  </code></pre>
  
  <p>And another snippet that looks like this: </p>
  
  <pre><code>if (!File.Exists(name))
  {
      throw new Exception("File does not exist!");
  }
  </code></pre>
  
  <p>I was just wondering what the different was and why one is used above the other</p>