There is a simple rule: if you do not know how to handle the exception, do not understand it.
, , , , . , , .
throw e; , . throw; , , . . , , , finally.
, , - , , , . .
, , (, ), , InnerException, :
try
{
foo(bar);
}
catch (Exception e)
{
throw new FooException("Foo failed for " + bar.ToString(), e);
}
, . - , InnerException. . .