title: File::open() panics when file doesn't exist
body: <p>I'm running this:</p>
  
  <pre><code>use std::error::Error;
  use std::fs::File;
  
  fn main() {
      try_main().unwrap();
  }
  
  fn try_main() -&gt; Result&lt;(), Box&lt;Error&gt;&gt; {
      try!(check_file("andre"));
      Ok(())
  }
  
  fn check_file(user: &amp;str) -&gt; Result&lt;(), Box&lt;Error&gt;&gt; {
      let suspend_file_name = format!("{}{}", "/var/cpanel/suspended/", user);
      let suspend_file = try!(File::open(suspend_file_name));
  
      Ok(())
  }
  </code></pre>
  
  <p>And getting this error:</p>
  
  <pre class="lang-none prettyprint-override"><code>thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', libcore/result.rs:945:5
  </code></pre>
  
  <p>I thought this was supposed to return an error? I am using Rust 1.3 and have no idea what I'm doing wrong.</p>