Tôi đã có ý định viết một bài viết blog về điều này.
Có thể bạn chỉ cần chạy vào một số giới hạn được mã hóa cứng cho số lỗi được báo cáo. Nó cũng có thể là bạn đang chạy vào một kịch bản tinh tế và thú vị hơn.
Có rất nhiều phỏng đoán trong trình biên dịch dòng lệnh và trình biên dịch IDE cố gắng quản lý báo cáo lỗi. Cả hai để giữ cho nó dễ quản lý cho người dùng, và để làm cho trình biên dịch mạnh mẽ hơn.
Tóm lại, cách trình biên dịch làm việc là nó cố gắng để có được những chương trình thông qua một loạt các giai đoạn, mà bạn có thể đọc về ở đây:
http://blogs.msdn.com/b/ericlippert/archive/2010/02/04/how-many-passes.aspx
Ý tưởng được rằng nếu giai đoạn đầu được một lỗi, chúng tôi có thể không thể hoàn thành thành công giai đoạn sau mà không (1) đi vào vòng lặp vô hạn, (2) bị lỗi hoặc (3) báo cáo lỗi "xếp tầng" điên. Vì vậy, những gì xảy ra là, bạn nhận được một lỗi, bạn sửa chữa nó, và sau đó đột nhiên giai đoạn tiếp theo của biên dịch có thể chạy, và nó tìm thấy một bó nhiều lỗi hơn. Về cơ bản, nếu chương trình bị rối tung lên đến mức chúng ta thậm chí không thể xác minh sự thật cơ bản về các lớp và phương thức của nó, thì chúng ta không thể cung cấp sai sót một cách đáng tin cậy cho các thân phương pháp. Nếu chúng ta không thể phân tích một cơ thể lambda, thì chúng ta không thể cung cấp sai sót cho việc chuyển đổi của nó thành một cây biểu thức. Và vân vân; có rất nhiều tình huống mà các giai đoạn sau cần phải biết rằng các giai đoạn trước đã hoàn thành không có lỗi.
Mặt khác của thiết kế này là (1) bạn nhận được các lỗi "cơ bản nhất" đầu tiên, không có nhiều lỗi xếp tầng ồn ào, và (2) trình biên dịch mạnh mẽ hơn vì nó không 't phải cố gắng để làm phân tích về các chương trình mà các bất biến cơ bản của ngôn ngữ bị hỏng. Phía bên trái dĩ nhiên là kịch bản của bạn: rằng bạn có năm mươi lỗi, bạn sửa tất cả chúng, và đột nhiên năm mươi xuất hiện nữa.
Nguồn
2011-01-15 06:21:39
Thông thường, sửa một số lỗi sẽ đưa các lỗi khác vào tiêu điểm. Nó không phải dễ dàng để nói rằng một chiếc xe có một vấn đề nhiên liệu thấp * cho đến khi * bạn sửa chữa các vấn đề đo nhiên liệu bị hỏng. – Ani
@Ani: Cảm ơn, tôi biết những gì bạn có ý nghĩa, nhưng hầu hết các lỗi là lỗi cú pháp trong các tập tin khác nhau và hầu hết trong số họ bị bỏ qua bởi tập tin từ những gì tôi có thể nói. –
Có lẽ câu hỏi quan trọng hơn là tại sao bạn có hơn 400 lỗi? – abelenky