2016-02-23 32 views
5

Questa domanda sembra molto simile a previous, ma il caso è leggermente diverso (forse è meglio dimostrare il problema), sebbene l'obiettivo sia lo stesso.Non si rompono durante il debug

XAML:

<TextBox Text="{local:ExceptionBinding Path=Color1}" /> 

cs:

public class ExceptionBinding : Binding 
{ 
    public ExceptionBinding() 
    { 
     ValidationRules.Add(new ExceptionValidationRule()); 
    } 
} 

vm:

Color _color1; 
    public string Color1 
    { 
     get { return (new ColorConverter()).ConvertToString(_color1); } 
     set { _color1 = (Color)ColorConverter.ConvertFromString(value); } 
    } 

Quando questo codice viene eseguito stand-alone, per l'ingresso 123 bordo rosso viene mostrato intorno TextBox (campo il valore non sta cambiando). Immissione red o #FF0000 rimuoverà il bordo e aggiornerà il valore del campo.

Problema: quando si esegue il programma in Visual Studio, entrando 123 getterà a ConvertFromString (undocumented btw):

Un'eccezione di tipo 'System.FormatException' avvenuto in PresentationCore.dll, ma non è stata gestita nel codice utente

Ulteriori informazioni: Token non è valido.

Come impedire a Visual Studio di interrompere l'esecuzione del programma?

+0

se stai ricevendo un'eccezione in Visual Studio, lo sono anche i tuoi utenti. se si desidera continuare a programmare l'esecuzione, basta premere F5 (o il pulsante di riproduzione della freccia verde su VS) per continuare a programmare l'esecuzione. – user1666620

+0

@ user1666620, non è l'errore, vorrei evitare l'interruzione dell'esecuzione. – Sinatr

+0

ho aggiornato il mio commento mentre rispondevi. – user1666620

risposta

3

Si può scegliere su quale eccezione Visual Studio pausa premendo 'CTRL + D + E' o Menu, Impostazioni di Windows e di eccezione colpite "debug" (vedi MSDN per maggiori informazioni: https://msdn.microsoft.com/en-us/library/x85tt0dd.aspx)

thent deselezionare le eccezioni che non si desidera vedere (per i convertitori, basta deselezionare eccezioni CLR)

Dopo di che, basta prestare attenzione alla finestra di output per quel tipo di ex ceptions ...