GV: Trần Minh Thọ Page 1/2 MỘT SỐ LỖI CÚ PHÁP THƯỜNG GẶP CỦA PASCAL Lỗi cú pháp lỗi phát sinh lập trình viên viết sai quy định văn phạm hệ thống ngơn ngữ Thí dụ lỗi sau lỗi cú pháp: (a + b * 2: thiếu dấu đóng ngoặc BEGIM: định viết BEGIN, sai N Xử lý lỗi Lỗi cú pháp phát trình dịch Turbo Pascal báo lỗi cú pháp theo nguyên tắc "Mỗi lần báo lỗi" Nếu gặp lỗi ta cần trở chế độ soạn thảo, tìm vị trí xuất lỗi, sửa lại lỗi dịch lại chương trình Sau báo lỗi, Turbo Pascal chờ ta bấm phím ESC để trở chế độ soạn thảo Con trỏ hình soạn thảo đặt cạnh vị trí xuất lỗi, thơng thường ký tự Các thông báo lỗi thường gặp gợi ý khắc phục Lỗi Identifier expected: mong gặp định danh (có thể chưa khai báo biến, hằng…) Lỗi Unknown identifier: định danh chưa khai báo Hãy khai báo định danh đầu thủ tục chương trình.( sai tả tên, từ khoá đó) Lỗi Duplicate identifier: định danh khai báo lần trở lên Lỗi Syntax error: Lỗi cú pháp Gặp ký tự sai viết sai Lỗi Error in real constant: Viết sai thực Lỗi Error in integer constant: Viết sai nguyên Chú ý khai báo CONST c = 1234 cho ta c kiểu nguyên Muốn có kiểu thực, ta viết CONST c = 1234.0 Những có giá trị nằm khoảng -2147483648 2147483647 cần khai báo theo kiểu thực, thí dụ: CONST c = 12345678912.0; Lỗi String constant exceeds line: giá trị xâu ký tự dài, xem lại có thiếu dấu đóng/mở (dấu nháy đơn) văn không? Lỗi 10 Unexpected end of file: Cần gặp dấu kết tệp Lỗi 10 xuất trường hợp sau: - Trong trương trình cặp BIGIN END khơng cân đối - Tệp khác gọi lồng vị trí khơng hợp lệ - Chú thích chưa đóng dấu } * ) Lỗi 11 Line too long: Dòng dài Bộ soạn thảo cho phép phát sinh dòng dài tối đa 249 ký tự khi chương trình dịch làm việc với dịng dài tối đa 126 ký tự Lời khun: Khơng nên viết dòng dài 60 ký tự Lỗi 12 Type identifier expected: Cần có định danh kiểu Lỗi 20 Variable identifier expected: Cần định danh cho biến Thí dụ FOR = TO 20 DO sinh lỗi 20 Lỗi 25 Invalid string length: Chiều dài xâu không hợp lệ Chiều dài hợp lệ nằm khoảng 255 Lỗi 26 TYPE mismatch: Kiểu khơng tương thích nguyên nhân sinh lỗi là: - Biểu thức gán cho biến khơng kiểu Thí dụ VAR x: char; BEGIN x: = 127 * END Lỗi 29 Ordinal type expected: Cần kiểu thứ bậc Trong trường hợp không dùng kiểu Real, string, Record, PROCEDURE pointer Lỗi 30 Integer constant expected: Cần nguyên Lỗi 31 Constant expected: Cần Lỗi 33 Type identifier expected: Cần định danh kiểu Lỗi 36 BEGIN expected: Thiếu BEGIN Lỗi 37 END expected: Thiếu END Lỗi 38 Integer expression expexted: Cần biểu thức ngun ThuVienDeThi.com GV: Trần Minh Thọ Page 2/2 Lỗi 39 Ordinal expression expected: Cần biểu thức thứ bậc Lỗi 40 Boolean expression expected: Cần biểu thức kiểu BOOLEAN Lỗi 41 Operand types not match operator: Kiểu toán hạng khơng phù hợp với tốn tử Lỗi 42 Error in expression: Biểu thức sai Thường gặp trường hợp sử dụng ký tự lạ quên viết dấu phép toán biểu thức Lỗi 43 Illegal assigment: Gans Gán không hợp lệ Không gán trị cho biến tệp biến không định kiểu Không gán trị cho định danh hàm ngồi thân hàm Lỗi 44 Field identifier expected: Cần định danh thường Lỗi phát sinh sử dụng ghi (RECORD) khơng có trường hợp kèm Lỗi 54 OF expected:Thiếu OF TYPE, CASE, FILE, SET, ARRAY Lỗi 57 THEN expected:Thiếu THEN IF Lỗi 58 TO or DOWN TO expected: Thiếu To DOWN TO FOR Lỗi 66 String variable expected: Cần biến string Lỗi 67 String expression expected; Cần biểu thức string Lỗi 74 Constant and case types not match: Kiểu kiểu biểu thức CASE không phù hợp với Lỗi 75 Record variable expected: Cần biến kiểu RECORD Lỗi 76 Constant out of range: Hằng vượt miền Lỗi gặp tình sau: - Chỉ dẫn mảng vượt giới hạn mảng - Gọi thủ tục hàm với tham trị cụ thể vượt giới hạn khai báo Lỗi 79 Integer or Real expssion expected: Cần biểu thức kiểu INTEGER REAL Lỗi 85 ";" expected: Cần có dấu chấm phảy Lỗi 86 ": " expected: Cần có dấu hai chấm Lỗi 87 " , " expected: Cần có dấu phảy Lỗi 88 " ( " expected: Cần có dấu mở ngoặc đơn Lỗi 89 " ) " expected: Cần có dấu đóng ngoặc đơn Lỗi 99 " = " expected: Cần có dấu Lỗi 91 ":= "expected: Cần dấu gán Lỗi 92 " [ " or " ( " expected: Cần mở dấu ngoặc vuông khai báo định phần tử mảng, tập Lỗi 93 " ] " or " ) " expected: Cần dấu đóng ngoặc vuông khai báo định phần tử mảng tập Lỗi 94 " " expected: Cần dấu chấm định trường ghi Lỗi 95 " " expected: Cần dấu nhiều chấm liệt kê giới hạn mảng, tập Lỗi 98 Integer variable expected: Cần biến nguyên Lỗi 100 String length, mismatch: Chiều dài xâu không phù hợp với số lượng phần tử mảng ký tự Lỗi 102 String constant expected: Cần kiểu xâu Lỗi 103 Integer or real variable expected: Cần biến nguyên thực (biến số) Lỗi 104 Ordinal variable expected: Cần biến (kiểu) thứ tự Lỗi 106 Character expressionexpected: Cần biểu thức kiểu ký tự Lỗi 112 CASE constant out of range: Hằng tốn tửCASE khơng nằm giới hạn -32768 dến 32767 Lỗi 113 Error in statement: Câu lệnh sai Lỗi không sảy viết sai kí tự câu lệnh Lỗi 200 Division by zero: chia cho số (Loãi chạy chương trình) ThuVienDeThi.com ... ngồi thân hàm Lỗi 44 Field identifier expected: Cần định danh thường Lỗi phát sinh sử dụng ghi (RECORD) khơng có trường hợp kèm Lỗi 54 OF expected:Thiếu OF TYPE, CASE, FILE, SET, ARRAY Lỗi 57 THEN... Cần có dấu phảy Lỗi 88 " ( " expected: Cần có dấu mở ngoặc đơn Lỗi 89 " ) " expected: Cần có dấu đóng ngoặc đơn Lỗi 99 " = " expected: Cần có dấu Lỗi 91 ":= "expected: Cần dấu gán Lỗi 92 " [ " or... Lỗi 98 Integer variable expected: Cần biến nguyên Lỗi 100 String length, mismatch: Chiều dài xâu không phù hợp với số lượng phần tử mảng ký tự Lỗi 102 String constant expected: Cần kiểu xâu Lỗi