title: Exception priority in try catch blocks
body: <p>I am making a library so other people can use, I want to make it bulletproof (if thats the correct term). In the code below, I want to check a <code>byte</code> at index 8 of a byte array. If the supplied byte by user of the library is smaller than 9 in length I want to warn user. Consider following code:</p>
  
  <pre><code>    try
      {
          int payloadSizeFromByteArray = Packet[8];
      }
      catch(IndexOutOfRangeException)
      {
          throw new IndexOutOfRangeException("Packet is not valid. Does noe contains byte at index 8 which stores incoming payload length.");
      }
      catch (Exception)
      {
          throw;
      }
  </code></pre>
  
  <p>ReSharper says the last catch block is redundant. I cant understand, why?! Does it mean there is no chance that last catch block gets reached?</p>