1
TURBO PASCAL ERRORS CODES
(CÁCLI CA TURBO PASCAL)
Dch và chú gii t Turbo Pascal 6: The Complete Reference
Vương Đức Bình
Lời người dch:
Đối vi người mi hc lp trình, viết chương trình b li chuyn “thường ngày huyn. Mi ngôn ng đều d trù hng
trăm, nếu không nói là hàng ngàn, thông báo li khác nhau như mt s tr giúp để chúng ta khc phc li đó. Mt s thông báo li thì
đơn gin, rõ ràng nhưng mt s thông báo li th dn nhng lp trình viên mi chp chng” vào mt trò chơi trn tìm rt đau đầu
đến ni khi chính s tr giúp này li gây ra vn đề còn ln hơn c bn thân li. l đó đọc hiu được các thông báo li t đó
suy ra cách khc phc li cũng là mt yêu cu quan trng trong quá trình hc lp trình.
Mt khác, thc tế đa s sinh viên CNTT trong năm đầu thường không đủ vn t vng v thut ng tin hc, cng vi s yếu
kém v ging dy ngoi ng thâm căn c đế do các trường PTTH y ra làm cho sinh viên không đủ năng lc đọc hiu các thông báo
li trc tiếp bng tiếng Anh. Tài liu này ch mong làm được có mt vic: giúp các bn sinh viên đó tiếp cn d hơn vi vic đọc hiu
thông báo li. Nhưng các bn cũng đừng li vào tài liu này. Tt hơn hết c bn nên tp làm quen dn vi vic đọc trc tiếp, suy
nghĩ trc tiếp bng tiếng Anh. Tiếng Vit thì đẹp đẻ ngôn ng ca cha ông mà chúng ta cn trân quí làm cho phát trin.
Nhưng đây là khoa hc k thut, bn cn xây dng kh năng tiếp cn tht nhanh thông tin khoa hc k thut.
Để các bn d tham kho/so sánh tôi s trình bày bn dch này dưới dng song ng. Tôi không hoàn toàn gi nguyên gc so
vi nguyên bn thêm ít nhiu chú thích và thêm phn nguyên nhân phát sinh ra li cách khc phc. Mt s li s không
phn này (cách khc phc) th tôi chưa gp li đó bao gi cho nên tôi không kinh nghim khc phc. Nếu bn biết, xin
thông báo cho tôi trên forum ca T b môn CNTT http://tobomoncntt.freeforums.org/, tôi s rt cm ơn và tôi s b sung vào đây khi
th.
I. Compiler Error Messages
(Các thông báo li trong quá trình biên dch)
Compiler error messages refer to problems in your code or programming environment that prevent Turbo Pascal from produccing an
executable file. In the integrated development environment, Turbo Pascal will attempt to locate the source-code location of the error.
Các thông báo li trong quá trình biên dch liên quan đến nhng vn đề trong mã chương trình hoc môi trường lp trình gây cn ngi
cho Turbo Pascal khi to ra file thc thi. Trong môi trường phát trin tích hp, Turbo Pascal s c gng định v trí li trong mã ngun.
Lưu ý của người dch:
a) Nếu bn s dng IDE (integrated development environment) thông thường v trí phát sinh ra li trong mã ngun nm ngay
trước v trí con tr văn bản. Còn nếu bn dch mã ngun FILENAME.PAS bng TPC.EXE (Turbo Pascal Compiler) theo cú
pháp
2
[drive:][path]TPC.EXE FILENAME.PAS
thì mt thông báo li dng:
Error nnn: Error message
Vi nnn là mã li và dòng lnh b li s được hin th sau du nhc h thng cùng vi mt du “^” ch v trí phát sinh li.
b) Tiếng Anh và tiếng Vit không hoàn toàn tương đồng cho nên vi cùng mt thut ng tiếng Anh tôi có th s dng khá nhiu
cách nói tiếng Vit khác nhau để dch. Ví d rõ nht là đối vi t “expected”, tôi có th dch“chờ, đợi, chưa thy, không
thy, yêu cu, …tùy vào ng cnh mà thut ng đó được s dng … và đôi khi còn tùy vào tình hung li. Trong trường hp
này - rt tiếc đôi khi suy nghĩ trc tiếp bng tiếng Anh là d dàng hơn.
Mã li và thông báo li
Ý nghĩa
Các nguyên nhân có th
Hướng khc phc
1 Out of memory
Không đủ vùng nh
1. chương trình quá
ln.
2. Mã d liu quá ln.
3. B virus.
4. Các chương trình
thường trú chiếm bt
vùng nh qui ước
(conventional
memory).
Hoc phi g b các chương
trình đang chy trong chế độ
thường trú (SIDEKICK, v.v.)
hoc xem xét liu virus có
đang chiếm mt vùng nh
hoc phi s dng bin pháp
overlay. Thông thường điu
này ch xy ra trong môi
trường thc (Real mode).
Nếu bn chy Borland Pascal
trong môi trường gi lp
được bo v (protected
mode) ca Windows thì
không xy ra trường hp này
được (Windows cho phép s
dng b nh o)
2 Identifier expected
Ch mt danh biu
3 Unknown identifier
Không biết danh biu này
1. Quên khai báo biến.
2. Gõ sai tên biến trong
chương trình.
3. Gi ti biến, danh biu
này ngoài tm vc
ca nó.
1. Khai báo danh biu này.
2. Sa cha li gõ sai.
3. Xem xét li tm vc ca
danh biu.
3
4 Duplicate identifier
Danh biu b trùng lp
1. Tên biến trùng vi tên
chương trình.
2. Khai báo li tên biến
vi kiu d liu khác
trong cùng mt khi.
1. Đặt li tên biến hoc tên
chương trình.
5 Syntax error
Li cú pháp
Sa li cú pháp
6 Error in real constant
Li v hng s thc
7 Error in integer constant
Li v hng s nguyên
8 String constant exceeds line
Chui dài quá mt dòng
Quên du nháy “’” kết
thúc chui.Thông thường
là do lp trình viên quên
du nháy kết thúc chui
trong câu lnh WRITE
hoc WRITELN.
B sung dấu nháy đằng sau
chui.
9 Too many nested files
Quá nhiu file lng nhau
10 Unexpected end of file
Không tìm thy kết thúc file
Quên t khóa “END.”
Thông thường do lp trình
viên quên hoc dùng “END;”
cui chương trình chính.
11 Line too long
Dòng quá dài
Câu lnh viết dài quá ct
128.
Ngt câu lnh thành nhiu
dòng.
12 Type identifier expected
Không thy kiu ca danh
biu
Quên khai báo kiu ca
biến.
13 Too many open files
M quá nhiu file cùng lúc
M file C:\CONFIG.SYS
sa li dòng lnh
Files=<s>. H điu hành
DOS dùng con s này để
quyết định cho phép m bao
nhiêu file cùng mt lúc. Tăng
<s> cho thích hp vi
chương trình đang viết. Mc
định <s> là 15 nếu không
được khai báo trong
CONFIG.SYS. Không gp
li này nếu chy trong môi
trường gi lp ca Windows.
4
14 Invalid filename
Tên file không hp l.
Không tìm thy thư mc
đã định nghĩa trong
[Options >Directories ]
để lưu file này
Thư mc để lưu file này
b xác lp thuc tính
Hidden hoc Read Only
Khai báo li thư mc hoc
xác định thư mc có thuc
tính Archive, b thuc tính
hidden, b thuc tính read
only.
15 File not found
Không tìm thy file
Xem li đường dn ti tên
file
16 Disk full
Đĩa b đầy
Xóa bt các file không cn
thiết trên đĩa để ly thêm ch
trng cho thao tác trên đĩa.
17 Invalid compiler directive
Dn hướng biên dch không
hp l
Dùng mt dn hướng
biên dch không có trong
qui định
Xem li khai báo dn hướng
biên dch. Gõ CTRL-O-O để
xem các dn hướng biên dch
được Pascal h tr mc định.
18 Too many files
Có quá nhiu file
19 Undefined type in pointer
definition
Định nghĩa con tr tr ti
mt kiu chưa được định
nghĩa
Xem li định nghĩa kiu sau
t khóa TYPE / Xem li tên
kiu coi có gõ nhm không.
20 Variable identifier expected
Yêu cu danh biu là biến
Thông thường là do
truyn tr cho tham biến
Ch được phép truyn biến
cho tham biến mà thôi.
21 Error in type
Li v kiu d liu
Xem li kiu d liu qui định
v trí này.
22 Structure too large
Cu trúc quá ln
23 Set base type out of range
Kiu cơ s b vượt quá phm
vi d liu
24 File components may not be
files or objects
Không cho phép thành phn
ca file là file hoc đối tượng
25 Invalid string length
Chiu dài chui không hp l
26 Type mismatch
Không khp kiu d liu
Hai vế ca phép gán
không thuc v cùng mt
kiu d liu
Hoc khai báo li kiu d
liu cho phù hp hoc phi
dùng bin pháp ép kiu (type
casting).
27 Invalid subrange base type
Phm vi không khp vi
phm vi ca kiu cơ s
5
28 Lower bound greater than upper
bound
Cn dưới ln hơn cn trên
Khai báo li
29 Ordinal type expected
Yêu cu kiu d liu có th
t
S dng kiu d liu có th
t (kiu đếm được)
30 Integer constant expected.
Yêu cu hng s nguyên
31 Constant expected
Yêu cu hng s
32 Integer or real constant
expected.
Yêu cu hng s nguyên
hoc hng s thc
33 Type identifier expected
Không thy định nghĩa kiu
Khai báo kiu
34 Invalid function result type
Kiu d liu tr v ca hàm
không hp l
Kiu d liu tr v ca
hàm không phi là kiu
đơn gin, chun
Khai báo li kiu d liu tr
v.
35 Label identifier expected
Yêu cu danh biu là mt
nhãn
Quên khai báo LABEL
trước khi dùng câu lnh
GOTO
36 Begin expected
Không thy BEGIN
Thông thường li này
do lp trình viên gõ sai
các t khóa trước BEGIN
ca chương trình chính
nên trình biên dch hiu
nhm đã bt đầu câu lnh
mà không có BEGIN.
Kim tra li gõ sai các t
khóa, các khai báo trước
BEGIN ca chương trình
chính.
37 End expected
Không thy END
Thiếu t khóa END
tương ng ca BEGIN
hoc ca khai báo
RECORD hoc ca cu
trúc CASE
38 Integer expression expected
Ch mt biu thc nguyên
39 Ordinal expression expected
Ch mt biu thc th t
40 Boolean expression expected
Ch mt biu thc logic
41 Operand types do not match
operator
Toán hng không phù hp
vi toán t
Xem xét li biu thc xy ra
li.
42 Error in expression
Có li trong biu thc
43 Illegal assignment
Phép gán bt hp l
44 Field identifier expected
Ch mt danh biu trường
45 Object file too large
File đối tượng quá ln