Ho intenzione di scrivere un articolo di questo blog.
È possibile che si stia eseguendo semplicemente un limite hardcoded per il numero di errori segnalati. È anche possibile che ti trovi in uno scenario più sottile e interessante.
Ci sono molte euristiche nel compilatore della riga di comando e nel compilatore IDE che tentano di gestire la segnalazione degli errori. Sia per mantenerlo gestibile per l'utente, sia per rendere il compilatore più robusto.
In breve, il modo in cui il compilatore funziona è si cerca di ottenere il programma attraverso una serie di fasi, che potete leggere qui:
http://blogs.msdn.com/b/ericlippert/archive/2010/02/04/how-many-passes.aspx
L'idea è che se una fase iniziale ottiene un errore, potremmo non essere in grado di completare con successo uno stadio successivo senza (1) entrare in un ciclo infinito, (2) in modo anomalo, o (3) riportare errori "a cascata" pazzi. Quindi, ciò che accade è che si ottiene un errore, lo si aggiusta e quindi all'improvviso può essere eseguita la fase successiva della compilazione e viene rilevato un numero maggiore di errori.
Fondamentalmente, se il programma è così incasinato che non possiamo nemmeno verificare fatti di base sulle sue classi e metodi, allora non possiamo dare errori in modo attendibile per i corpi dei metodi. Se non siamo in grado di analizzare un corpo lambda, allora non possiamo fornire errori affidabili per la sua conversione in un albero di espressioni. E così via; ci sono molte situazioni in cui le fasi successive devono sapere che le fasi precedenti sono state completate senza errori.
Il lato positivo di questo disegno è che (1) si ottengono gli errori che sono i più "fondamentali" per primi, senza un sacco di errori di sovrapposizione rumorosi e folli, e (2) il compilatore è più robusto perché non lo fa Devo provare a fare analisi sui programmi in cui sono infranti gli invarianti di base della lingua. Il lato negativo è ovviamente il tuo scenario: che hai cinquanta errori, li risolvi tutti e all'improvviso ne compaiono altri cinquanta.
fonte
2011-01-15 06:21:39
Spesso, la correzione di alcuni errori mette a fuoco altri errori. Non è facile dire che un'auto ha un problema di carburante basso * fino a quando non si risolve il problema del carburante esaurito. – Ani
@Ani: Grazie, conosco quelli che intendi, ma la maggior parte degli errori sono errori di sintassi in diversi file e la maggior parte di essi viene ignorata dal file da quello che posso dire. –
Forse la domanda più significativa è perché hai più di 400 errori? – abelenky