StringBuilder builder;
string str;
try
{
//...
builder.Append(str[i]);
//... dalej wielokrotnie odwoluje sie do str[i] oraz builder.Append
}
catch(ArgumentOutOfRangeException e)
{
if(/* e pochodzi z builder.Append */) throw e;
//...
}
Zarówno 'builder.Append(...)' jak i 'str[...]' może rzucić wyjątkiem ArgumentOutOfRangeException. Jak sprawdzić który to z nich ?