title: Catch 'utf-8' codec can't decode byte X in position X: invalid start byte
body: <p>I was trying to open a file in the following way:</p>
  
  <pre><code>file = open(filename, 'r', encoding='utf-8', errors='strict')
  </code></pre>
  
  <p>But all I got was the following error message:</p>
  
  <pre><code>'utf-8' codec can't decode byte 0xa9 in position 75: invalid start byte
  </code></pre>
  
  <p>So I thought, let's catch the error and let's fallback to <code>errors=ignore</code> in the following way:</p>
  
  <pre><code>try:
      file = open(filename, 'r', encoding='utf-8', errors='strict')
  except UnicodeError as decode_error:
      file = open(filename, 'r', encoding='utf-8', errors='ignore')
  </code></pre>
  
  <p>But nothing, I always get the same error message, it seems I can't catch the error. I also tried with <code>OSError, IOError, UnicodeDecodeError, RuntimeError, Exception</code>.</p>