include::../description.adoc[]

include::../noncompliant.adoc[]

include::../compliant.adoc[]

== Exceptions

This rule will not generate issues for ``catch`` blocks with just ``throw`` inside if they are followed by a ``catch`` block for a more general exception type that does more than just rethrowing the exception.

----
var s = ""
try
{
    s = File.ReadAllText(fileName);
}
catch (IOException) // Compliant, if removed will change the logic
{
    throw;
}
catch (Exception)  // Compliant, does more than just rethrow
{
    logger.LogError(e);
    throw;
}
----
