Skip to content
fremag edited this page Dec 22, 2016 · 3 revisions

The Threads highlights threads blocked after having thrown an exception. Select one and click on the "Exception" button (or right click on it and select the item in the context menu):

The view will display the excpetion thrown in the selected thread. If the exception contains an inner exception, it will display it in another line.

The dump file used in the animation has been produced with MemoDummy and this script.

try
{
    int x = arrayInt[arrayInt.Length];
    if( x < 0)
    {
        Debug.WriteLine("Huh ?");
    }
}
catch (Exception e)
{
    throw new Exception("Something failed !", e);
}

There is an obvious IndexOutOfRangeException because of the line

    int x = arrayInt[arrayInt.Length];

And it's caught and thrown in another simple Exception so the first one is nested in the new one.

Nb: in the animation the french message "L'index se trouve en dehors des limites du tableau." means "Index was out of range."