Lỗi trong Pascal
Chia sẻ bởi Nguyễn Quang Khoa |
Ngày 14/10/2018 |
59
Chia sẻ tài liệu: Lỗi trong Pascal thuộc Tin học 8
Nội dung tài liệu:
1. Lỗi cú pháp là những lỗi phát sinh do lập trình viên viết sai những quy định về văn phạm của hệ thống hoặc ngôn ngữ. Thí dụ các lỗi sau đây là những lỗi cú pháp: (a + b * 2: thiếu dấu đóng ngoặc BEGIM: định viết BEGIN, sai N
2. Xử lý lỗi. Lỗi cú pháp được phát hiện trong quá trình dịch. Turbo Pascal 5.0 báo lỗi cú pháp theo nguyên tắc "Mỗi lần chỉ báo một lỗi". Nếu gặp lỗi ta cần trở về chế độ soạn thảo, tìm vị trí xuất hiện lỗi, sửa lại lỗi đó rồi dịch lại chương trình. Sau khi báo lỗi, Turbo Pascal sẽ chờ ta bấm phím ESC để trở về chế độ soạn thảo. Con trỏ của màn hình soạn thảo sẽ đặt ở cạnh vị trí xuất hiện lỗi, thông thường quá đi 1 ký tự.
3. Các thông báo lỗi thường gặp và gợi ý khắc phục.
Lỗi 1. Out of memory: vượt ra ngoài miền nhớ. Chương trình dịch thiếu miền nhớ. Vài gợi ý khắc phục: a. Nếu mục COMPILE/DESTINATION (nơi đặt chương trình đích tức là chương trình đã được dịch ghi trong tệp cùng tên với chương trình nguồn nhưng có phần mở rộng là .EXE) đang đặt là MEMORY hãy đổi thành DISK bằng cách bấm phím ENTER (còn gọi là phím RETURN). b. Nếu mục OPTIONS/COMPILER/LINK đang đặt là MEMORY hãy đổi thành DISK bằng cách bấm phím ENTER. c. Bỏ các chương trình thường trú, chẳng hạn SIDKICK, NC v.v. d. Thử ra khỏi TURBO.EXE, dịch lại chương trình của bạn với lệnh TCP như sau: TCP Chương trình dịch TCP này chiếm ít miền nhớ hơn. Nếu cả 4 biện pháp nói trên đều không mang lại kết quả tức là chương trình của bạn qúa lớn. Hãy chia nó thành các đơn thể nhỏ hơn.
Lỗi 2. Identifier expected: mong gặp định danh.
Lỗi 3. Unknown identifier: định danh chưa được khai báo. Hãy khai báo định danh này ở đầu thủ tục hoặc chương trình.
Lỗi 4. Duplicate identifier: định danh được khai báo 2 lần trở lên.
Lỗi 5. Syntax error: Lỗi cú pháp. Gặp một ký tự sai hoặc viết sai một hằng.
Lỗi 6. Error in real constant: Viết sai hằng thực.
Lỗi 7. Error in integer constant: Viết sai hằng nguyên. Chú ý rằng khai báo CONST c = 1234 sẽ cho ta một hằng c kiểu nguyên. Muốn có một hằng kiểu thực, ta viết CONST c = 1234.0. Những hằng có giá trị nằm ngoài khoảng -2147483648..2147483647 cần được khai báo theo kiểu thực, thí dụ: CONST c = 12345678912.0;
Lỗi 8. String constant exceeds line: giá trị của xâu ký tự quả dài, xem lại có thiếu dấu đóng/mở (dấu nháy đơn) hằng văn bản không?
Lỗi 9. Too many nested files: quá nhiều tệp lồng nhau.Chương trình dịch cho phép lồng nhau không quá 5 tệp. Lỗi 10. Unexpected end of file: Cần gặp dấu kết tệp.
Lỗi 10. có thể xuất hiện trong các trường hợp sau: - Trong trương trình các cặp BIGIN và END không cân đối. - Tệp khác được gọi lồng tại một vị trí không hợp lệ. - Chú thích chưa được đóng bằng dấu } hoặc * ).
Lỗi 11. Line too long: Dòng dài quá Bộ soạn thảo cho phép phát sinh các dòng dài tối đa 249 ký tự trong khi khi chương trình dịch chỉ làm việc với các dòng dài tối đa 126 ký tự. Lời khuyên: Không nên viết các dòng dài quá 60 ký tự.
Lỗi 12. Type identifier expected: Cần có định danh kiểu
Lỗi 13. Too many open files Có thể mở tối đa 20 tệp. Muốn vậy trong tệp CONFIG. SYS cần có dòng khai báo FILES = 20 Lời khuyên: Nên mở chừng 15 tệp là vừa nếu có nhu cầu. Hãy đưa dòng sau đây: FILES = 15 vào tệp CONFIG.SYS. Khởi động lại máy rồi gọi lại TP.
Lỗi 14. Invalid file name: Sai tên tệp. Tên tệp được đặt theo quy định của DOS.
Lỗi 15. File not found: Không tìm thấy tên trong thư mục. Trong một số trường hợp TP cần có các tệp phụ trợ, thí dụ EGAVGA. BGI cho màn hình trong chế độ đồ thị. Bạn cần đặt những tệp này vào thư mục hiện hành hoặc chỉ rõ đường dẫn để truy nhập tới chúng.
Lỗi 16. Disk full: đĩa đầy hết chỗ ghi. Hãy xoá đi một số tệp không cần dùng nữa hoặc dùng đĩa mềm mới (cho ổ A, B).
Lỗi 17 Invalid compiler directive: Đặt sai chế độ dịch Lời khuyên: Không nên lạm dụng chế độ dịch. Các chế độ ngầm định là đủ cho bạn. Hãn hữu hãy đặt tạm thời một chế độ dịch, sau đó hãy trả
2. Xử lý lỗi. Lỗi cú pháp được phát hiện trong quá trình dịch. Turbo Pascal 5.0 báo lỗi cú pháp theo nguyên tắc "Mỗi lần chỉ báo một lỗi". Nếu gặp lỗi ta cần trở về chế độ soạn thảo, tìm vị trí xuất hiện lỗi, sửa lại lỗi đó rồi dịch lại chương trình. Sau khi báo lỗi, Turbo Pascal sẽ chờ ta bấm phím ESC để trở về chế độ soạn thảo. Con trỏ của màn hình soạn thảo sẽ đặt ở cạnh vị trí xuất hiện lỗi, thông thường quá đi 1 ký tự.
3. Các thông báo lỗi thường gặp và gợi ý khắc phục.
Lỗi 1. Out of memory: vượt ra ngoài miền nhớ. Chương trình dịch thiếu miền nhớ. Vài gợi ý khắc phục: a. Nếu mục COMPILE/DESTINATION (nơi đặt chương trình đích tức là chương trình đã được dịch ghi trong tệp cùng tên với chương trình nguồn nhưng có phần mở rộng là .EXE) đang đặt là MEMORY hãy đổi thành DISK bằng cách bấm phím ENTER (còn gọi là phím RETURN). b. Nếu mục OPTIONS/COMPILER/LINK đang đặt là MEMORY hãy đổi thành DISK bằng cách bấm phím ENTER. c. Bỏ các chương trình thường trú, chẳng hạn SIDKICK, NC v.v. d. Thử ra khỏi TURBO.EXE, dịch lại chương trình của bạn với lệnh TCP như sau: TCP Chương trình dịch TCP này chiếm ít miền nhớ hơn. Nếu cả 4 biện pháp nói trên đều không mang lại kết quả tức là chương trình của bạn qúa lớn. Hãy chia nó thành các đơn thể nhỏ hơn.
Lỗi 2. Identifier expected: mong gặp định danh.
Lỗi 3. Unknown identifier: định danh chưa được khai báo. Hãy khai báo định danh này ở đầu thủ tục hoặc chương trình.
Lỗi 4. Duplicate identifier: định danh được khai báo 2 lần trở lên.
Lỗi 5. Syntax error: Lỗi cú pháp. Gặp một ký tự sai hoặc viết sai một hằng.
Lỗi 6. Error in real constant: Viết sai hằng thực.
Lỗi 7. Error in integer constant: Viết sai hằng nguyên. Chú ý rằng khai báo CONST c = 1234 sẽ cho ta một hằng c kiểu nguyên. Muốn có một hằng kiểu thực, ta viết CONST c = 1234.0. Những hằng có giá trị nằm ngoài khoảng -2147483648..2147483647 cần được khai báo theo kiểu thực, thí dụ: CONST c = 12345678912.0;
Lỗi 8. String constant exceeds line: giá trị của xâu ký tự quả dài, xem lại có thiếu dấu đóng/mở (dấu nháy đơn) hằng văn bản không?
Lỗi 9. Too many nested files: quá nhiều tệp lồng nhau.Chương trình dịch cho phép lồng nhau không quá 5 tệp. Lỗi 10. Unexpected end of file: Cần gặp dấu kết tệp.
Lỗi 10. có thể xuất hiện trong các trường hợp sau: - Trong trương trình các cặp BIGIN và END không cân đối. - Tệp khác được gọi lồng tại một vị trí không hợp lệ. - Chú thích chưa được đóng bằng dấu } hoặc * ).
Lỗi 11. Line too long: Dòng dài quá Bộ soạn thảo cho phép phát sinh các dòng dài tối đa 249 ký tự trong khi khi chương trình dịch chỉ làm việc với các dòng dài tối đa 126 ký tự. Lời khuyên: Không nên viết các dòng dài quá 60 ký tự.
Lỗi 12. Type identifier expected: Cần có định danh kiểu
Lỗi 13. Too many open files Có thể mở tối đa 20 tệp. Muốn vậy trong tệp CONFIG. SYS cần có dòng khai báo FILES = 20 Lời khuyên: Nên mở chừng 15 tệp là vừa nếu có nhu cầu. Hãy đưa dòng sau đây: FILES = 15 vào tệp CONFIG.SYS. Khởi động lại máy rồi gọi lại TP.
Lỗi 14. Invalid file name: Sai tên tệp. Tên tệp được đặt theo quy định của DOS.
Lỗi 15. File not found: Không tìm thấy tên trong thư mục. Trong một số trường hợp TP cần có các tệp phụ trợ, thí dụ EGAVGA. BGI cho màn hình trong chế độ đồ thị. Bạn cần đặt những tệp này vào thư mục hiện hành hoặc chỉ rõ đường dẫn để truy nhập tới chúng.
Lỗi 16. Disk full: đĩa đầy hết chỗ ghi. Hãy xoá đi một số tệp không cần dùng nữa hoặc dùng đĩa mềm mới (cho ổ A, B).
Lỗi 17 Invalid compiler directive: Đặt sai chế độ dịch Lời khuyên: Không nên lạm dụng chế độ dịch. Các chế độ ngầm định là đủ cho bạn. Hãn hữu hãy đặt tạm thời một chế độ dịch, sau đó hãy trả
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Quang Khoa
Dung lượng: 89,00KB|
Lượt tài: 1
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)