title: Do I need to implement a FileNotFoundError exception?
body: <p>I've a class called <code>TFile</code>, and I can't (don't want to) modify it. It doesn't throw exception if the input/output file is not found but I can check the iternal status using the method <code>IsZombie</code>. Now, I've implemented a very simple exception:</p>
  
  <pre><code>class FileNotFoundError : public std::runtime_error
  {
  public :
  
  FileNotFoundError(const std::string &amp; file_name="") 
  : runtime_error("cannot find file " + file_name), filename(file_name) {}; 
  string filename;
  ~FileNotFoundError() throw() {};
  };
  </code></pre>
  
  <p>and I use it as:</p>
  
  <pre><code>f = new TFile(total.c_str(), "RECREATE") ;
  if (f-&gt;IsZombie())
  {
      throw FileNotFoundError(total);
  }
  </code></pre>
  
  <p>is there a better way to implement this exception, I mean: is it userful to throw a standard exception as <code>ifstream::failure</code> instead of my custom exception?</p>