Ik wil uitzonderingsdetails zien in Visual Studio debugger zonder variabele toe te wijzen aan uitzondering. Momenteel moet ik zoiets schrijven:
try
{
//some code
}
catch (SecurityException ex)
{
//some code or ever no any code
}
Visual studio geeft een foutmelding dat de ex-variabele nooit wordt gebruikt, maar ik heb deze variabele nodig om uitzonderingsdetails te zien tijdens het debuggen.
UPDATE: ik weet hoe ik de VS-fout ‘variabele wordt nooit gebruikt’ kan onderdrukken, het probleem is om een uitzondering te zien in het horloge zonder deze variabele.
$exception variabele door @VladimirFrolov of exception helper door @MarcGravell is een antwoord.
Antwoord 1, autoriteit 100%
Je kunt je uitzondering zien in de Locals-lijst of $exception
gebruiken in de Watch list:
try
{
// some code
}
catch (SecurityException)
{ // place breakpoint at this line
}
Antwoord 2, autoriteit 8%
Je hoeft niets te doen: plaats gewoon een breekpunt in de catch
(of op een catch
en stap eenmaal in het blok) en je zou een uitnodiging om de uitzonderingshelper te zien. Dit werkt voor naakte catch
of voor typespecifieke catch(SecurityException)
-blokken:
die je alles geeft:
Antwoord 3, autoriteit 6%
Op elk moment dat je op de uitzondering klikt, kun je het kijkvenster controleren en een variabele toevoegen: $exception
.
Hierdoor kun je met alle metadata van de uitzondering werken.
Antwoord 4, autoriteit 4%
U kunt een functionaliteit van Visual Studio gebruiken.
Debug => Uitzonderingen => Vink “Common Language Runtime Exceptions” aan
Dat is het. Ik hoop dat het helpt.
Antwoord 5, autoriteit 2%
gebruik
catch (SecurityException /*without variable*/)
{/*break Point*/
//some code or ever no any code
}
of
catch /*without parameter*/
{/*break Point*/
//some code or ever no any code
}
maar ik denk dat je dit bedoelt
catch (SecurityException ex)
{
MessageBox.Show(ex.ToString()); //for Winforms
Console.WriteLine(ex); //for console
}
Antwoord 6
schrijf gewoon
catch
{//set breakpoint here
}
Antwoord 7
Om te voorkomen dat u de waarschuwing krijgt: “De variabele ‘ex’ is gedeclareerd maar nooit gebruikt” in een catch-statement, doet u het volgende:
try
{
}
catch (Exception)
{
// set break point
}
Of gebruik System.Diagnostics.Debug.WriteLine()of Schakel tracering of foutopsporing in om een trace-listenerte gebruiken.