我正在製作一個庫,以便其他人可以使用,我希望使它成爲防彈(如果這是正確的術語)。在下面的代碼中,我想檢查位於字節數組索引8處的byte
。如果庫的用戶提供的字節長度小於9,我想警告用戶。考慮以下代碼:嘗試catch塊中的例外優先級
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;
}
ReSharper說最後一個catch塊是多餘的。我不明白,爲什麼?!這是否意味着最後的catch塊沒有可能達到?
我同意添加內部異常。我沒有使用合同,所以我不能說這個。 – Jim