Visual Studio 2005 + Eccezioni

lunedì 10 novembre 2008 - 14.03

FedericoC Profilo | Junior Member

Ciao,

Ho un problema con visual studio, da quando ho formattato e reinstallato la suite, non mi vengono più segnalate le eccezioni non gestite, ma soltanto quelle intercetatte da me tramite codice...

Sto compilando in modalità debug, e quando trova un errore interrompe il caricamente del codice senza mostrare dove è l'errore, quindi trovo delle form caricate male, perchè se ho un erorre nel caricamento della form, questa mi viene aperta inserendo metà dei dati oppure niente, e così non riesco a capire dove sbaglio....


Qualche soluzione?


Grazie

alx_81 Profilo | Guru

>Ciao,
Ciao!

>Ho un problema con visual studio, da quando ho formattato e reinstallato
>la suite, non mi vengono più segnalate le eccezioni non gestite,
>ma soltanto quelle intercetatte da me tramite codice...
>Sto compilando in modalità debug, e quando trova un errore interrompe
>il caricamente del codice senza mostrare dove è l'errore, quindi
>trovo delle form caricate male, perchè se ho un erorre nel caricamento
>della form, questa mi viene aperta inserendo metà dei dati oppure
>niente, e così non riesco a capire dove sbaglio....
Hai provato a visualizzare la error list e a fare doppio click sull'errore?
Ma formattando hai migrato da una versione precedente di visual studio?

>Grazie
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

tonyexpo Profilo | Senior Member

Ciao

il debugger interrompe l'esecuzione dell'applicazione solo quando l'eccezione non è gestita.
Quindi se tu hai 1 Try-Catch sull'invocazione del metodo in questione, anche se esterno al metodo, questo gestisce la tua eccezione in un modo che magari tu non hai previsto....
Scrivendo un nuovo try-catch, ovviamente, questo ha la precedenza.

Es:

Module Module1 Sub Main() Try TryTest() Catch ex As Exception 'modo scorretto End Try End Sub Sub TryTest() Try Throw New Exception(":)") Catch ex As Exception Console.WriteLine("errore") 'errore gestito (modo corretto) End Try Throw New Exception(":)") 'errore gestito con il try della main End Sub End Module


In alternativa mi viene da pensare che c'è la possibilità nel IDE di disabilitare o abilitare l'intercettazione delle eccezioni nel menù: Debug->Exceptions

Spero di averti detto qualcosa che non sai già.


Antonio Esposito
MCP, MCTS

alx_81 Profilo | Guru

>Ciao
Ho provato a leggere e rileggere quello che mi hai scritto.. ma proprio non capisco il tuo problema..
Se puoi provare a spiegarmelo diversamente.. Il problema è il mio
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

FedericoC Profilo | Junior Member

In pratica prima visual studio mi segnalava le eccezioni non gestite e bloccava l'eseguzione dle programma, adesso non mi segnala nessun errore...

Per trovare dove è l'erorre devo metetre dei break point e vedere dove mi blocco a run-time...

alx_81 Profilo | Guru

>In pratica prima visual studio mi segnalava le eccezioni non
>gestite e bloccava l'eseguzione dle programma, adesso non mi
>segnala nessun errore...
>
>Per trovare dove è l'erorre devo metetre dei break point e vedere
>dove mi blocco a run-time...
Puoi mandare il codice che non fa fermare il debugger?
Che tipo di applicazione è?
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

FedericoC Profilo | Junior Member

Applicaizone Win32

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Ad esempio dai bereak point riesco a vedere che la mia eseguzione si blocca qua:
if (System.Convert.ToBoolean(dataGridView1.Rows[i].Cells["Differita"].Value))

E questo è giusto perchè la colonna dataGridView1.Rows[i].Cells["Differita"]. non esiste...

Però per scoprire perchè la funziona che doveva stamparmi sulal form il totale di tutti gli articoli non dava niente, ho dovuto riempire il code di break point, fino ad arrivare in quel punto e vedere che dalla riga sopra saltava tutto e mi veniva mostrata la form non totalmente elaborata, anzichè lanciarmi un'eccezione...

Naturalmente nel codice non ho messo nessun catch al di la di MySqlExption quindi doveva avvisarmi visual studio che qualcosa non tornava... ma niente...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5