TURBO PASCAL ERRORS CODES
(CÁC MÃ LỖI CỦA TURBO PASCAL)
Dịch và chú giải từ “Turbo Pascal 6: The Complete Reference”
Vương Đức Bình
Lời người dịch:
Đối với người mới học lập trình, viết chương trình bị lỗi là chuyện “thường ngày ở huyện”. Mỗi ngôn ngữ đều dự trù hằng trăm,
nếu không nói là hàng ngàn, thông báo lỗi khác nhau như một sự trợ giúp để chúng ta khắc phục lỗi đó. Một số thông báo lỗi thì đơn
giản, rõ ràng nhưng một số thông báo lỗi có thể dẫn những lập trình viên “mới chập chửng” vào một trò chơi trốn tìm rất đau đầu đến
nỗi có khi chính sự trợ giúp này lại gây ra vấn đề còn lớn hơn cả bản thân lỗi. Vì lẽ đó đọc hiểu được các thông báo lỗi và từ đó suy ra
cách khắc phục lỗi cũng là một yêu cầu quan trọng trong quá trình học lập trình.
Mặt khác, thực tế đa số sinh viên CNTT trong năm đầu thường không đủ vốn từ vựng về thuật ngữ tin học, cộng với sự yếu kém
về giảng dạy ngoại ngữ thâm căn cố đế do các trường PTTH gây ra làm cho sinh viên không đủ năng lực đọc hiểu các thông báo lỗi trực
tiếp bằng tiếng Anh. Tài liệu này chỉ mong làm được có một việc: giúp các bạn sinh viên đó tiếp cận dễ hơn với việc đọc hiểu thông báo
lỗi. Nhưng các bạn cũng đừng ỷ lại vào tài liệu này. Tốt hơn hết các bạn nên tập làm quen dần với việc đọc trực tiếp, suy nghĩ trực tiếp
bằng tiếng Anh. Tiếng Việt thì đẹp đẻ và là ngôn ngữ của cha ông mà chúng ta cần trân quí và làm cho nó phát triển. Nhưng ở đây là
khoa học kỹ thuật, bạn cần xây dựng khả năng tiếp cận thật nhanh thông tin khoa học kỹ thuật.
Để các bạn dễ tham khảo/so sánh tôi sẽ trình bày bản dịch này dưới dạng song ngữ. Tôi không hoàn toàn giữ nguyên gốc so với
nguyên bản mà có thêm ít nhiều chú thích và thêm phần nguyên nhân phát sinh ra lỗi và cách khắc phục. Một số lỗi sẽ không có phần
này (cách khắc phục) vì có thể tôi chưa gặp lỗi đó bao giờ … cho nên tôi không có kinh nghiệm khắc phục. Nếu bạn biết, xin thông báo
cho tôi trên forum của Tổ bộ môn CNTT http://tobomoncntt.freeforums.org/, tôi sẽ rất cảm ơn và tôi sẽ bổ sung vào đây khi có thể.
I. Compiler Error Messages
(Các thông báo lỗi trong quá trình biên dịch)
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 lỗi trong quá trình biên dịch liên quan đến những vấn đề trong mã chương trình hoặc môi trường lập trình gây cản ngại
cho Turbo Pascal khi tạo ra file thực thi. Trong môi trường phát triển tích hợp, Turbo Pascal sẽ cố gắng định vị trí lỗi trong mã nguồn.
Lưu ý của người dịch:
a) Nếu bạn sử dụng IDE (integrated development environment) thông thường vị trí phát sinh ra lỗi trong mã nguồn nằm ngay
trước vị trí con trỏ văn bản. Còn nếu bạn dịch mã nguồn FILENAME.PAS bằng TPC.EXE (Turbo Pascal Compiler) theo cú
pháp
[drive:][path]TPC.EXE FILENAME.PAS ↵
1
thì một thông báo lỗi dạng:
Error nnn: Error message
Với nnn là mã lỗi và dòng lệnh bị lỗi sẽ được hiển thị sau dấu nhắc hệ thống cùng với một dấu “^” chỉ vị trí phát sinh lỗi.
b) Tiếng Anh và tiếng Việt không hoàn toàn tương đồng cho nên với cùng một thuật ngữ tiếng Anh tôi có thể sử dụng khá nhiều
cách nói tiếng Việt khác nhau để dịch. Ví dụ rõ nhất là đối với từ “expected”, tôi có thể dịch là “chờ, đợi, chưa thấy, không
thấy, yêu cầu, …tùy vào ngữ cảnh mà thuật ngữ đó được sử dụng … và đôi khi còn tùy vào tình huống lỗi. Trong trường hợp này
- rất tiếc – đôi khi suy nghĩ trực tiếp bằng tiếng Anh là dễ dàng hơn.
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
1 Out of memory Không đủ vùng nhớ
1. Mã chương trình quá
lớn.
2. Mã dữ liệu quá lớn.
3. Bị virus.
4. Các chương trình
thường trú chiếm bớt
vùng nhớ qui ước
(conventional
memory).
Hoặc phải gở bỏ các chương
trình đang chạy trong chế độ
thường trú (SIDEKICK, v.v.)
hoặc xem xét liệu virus có
đang chiếm mất vùng nhớ
hoặc phải sử dụng biện pháp
overlay. Thông thường điều
này chỉ xảy ra trong môi
trường thực (Real mode). Nếu
bạn chạy Borland Pascal
trong môi trường giả lập được
bảo vệ (protected mode) của
Windows thì không xảy ra
trường hợp này được
(Windows cho phép sử dụng
bộ nhớ ảo)
2 Identifier expected Chờ một danh biểu
3 Unknown identifier Không biết danh biểu này
1. Quên khai báo biến.
2. Gõ sai tên biến trong
chương trình.
3. Gọi tới biến, danh
biểu này ở ngoài tầm
vực của nó.
1. Khai báo danh biểu này.
2. Sửa chữa lỗi gõ sai.
3. Xem xét lại tầm vực của
danh biểu.
2
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
4 Duplicate identifier Danh biểu bị trùng lặp
1. Tên biến trùng với tên
chương trình.
2. Khai báo lại tên biến
với kiểu dữ liệu khác
trong cùng một khối.
1. Đặt lại tên biến hoặc tên
chương trình.
5 Syntax error Lỗi cú pháp Sửa lỗi cú pháp
6 Error in real constant Lối về hằng số thực
7 Error in integer constant Lỗi về hằng số nguyên
8 String constant exceeds line Chuỗi dài quá một dòng
Quên dấu nháy “’” kết
thúc chuỗi.Thông thường
là do lập trình viên quên
dấu nháy kết thúc chuỗi
trong câu lệnh WRITE
hoặc WRITELN.
Bổ sung dấu nháy đằng sau
chuỗi.
9 Too many nested files Quá nhiều file lồng nhau
10Unexpected end of file Không tìm thấy kết thúc file Quên từ khóa “END.”
Thông thường do lập trình
viên quên hoặc dùng “END;”
ở cuối chương trình chính.
11Line too long Dòng quá dài
Câu lệnh viết dài quá cột
128.
Ngắt câu lệnh thành nhiều
dòng.
12Type identifier expected
Không thấy kiểu của danh
biểu
Quên khai báo kiểu của
biến.
13Too many open files Mở quá nhiều file cùng lúc
Mở file C:\CONFIG.SYS sửa
lại dòng lệnh Files=<số>. Hệ
điều hành DOS dùng con số
này để quyết định cho phép
mở bao nhiêu file cùng một
lúc. Tăng <số> cho thích hợp
với chương trình đang viết.
Mặc định <số> là 15 nếu
không được khai báo trong
CONFIG.SYS. Không gặp lỗi
này nếu chạy trong môi
trường giả lập của Windows.
3
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
14Invalid filename Tên file không hợp lệ.
Không tìm thấy thư mục
đã định nghĩa trong
[Options >Directories ] để
lưu file này
Thư mục để lưu file này
bị xác lập thuộc tính
Hidden hoặc Read Only
Khai báo lại thư mục hoặc
xác định thư mục có thuộc
tính Archive, bỏ thuộc tính
hidden, bỏ thuộc tính read
only.
15File not found Không tìm thấy file
Xem lại đường dẫn tới tên
file
16Disk full Đĩa bị đầy
Xóa bớt các file không cần
thiết trên đĩa để lấy thêm chổ
trống cho thao tác trên đĩa.
17Invalid compiler directive
Dẫn hướng biên dịch không
hợp lệ
Dùng một dẫn hướng biên
dịch không có trong qui
định
Xem lại khai báo dẫn hướng
biên dịch. Gõ CTRL-O-O để
xem các dẫn hướng biên dịch
được Pascal hỗ trợ mặc định.
18Too many files Có quá nhiều file
19Undefined type in pointer definition
Định nghĩa con trỏ trỏ tới
một kiểu chưa được định
nghĩa
Xem lại định nghĩa kiểu sau
từ khóa TYPE / Xem lại tên
kiểu coi có gõ nhầm không.
20Variable identifier expected Yêu cầu danh biểu là biến
Thông thường là do
truyền trị cho tham biến
Chỉ được phép truyền biến
cho tham biến mà thôi.
21Error in type Lỗi về kiểu dữ liệu
Xem lại kiểu dữ liệu qui định
ở vị trí này.
22Structure too large Cấu trúc quá lớn
23Set base type out of range
Kiểu cơ sở bị vượt quá phạm
vi dữ liệu
24File components may not be files or
objects
Không cho phép thành phần
của file là file hoặc đối tượng
25Invalid string length Chiều dài chuỗi không hợp lệ
26Type mismatch Không khớp kiểu dữ liệu
Hai vế của phép gán
không thuộc về cùng một
kiểu dữ liệu
Hoặc khai báo lại kiểu dữ liệu
cho phù hợp hoặc phải dùng
biện pháp ép kiểu (type
casting).
27Invalid subrange base type
Phạm vi không khớp với
phạm vi của kiểu cơ sở
4
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
28Lower bound greater than upper
bound
Cận dưới lớn hơn cận trên Khai báo lại
29Ordinal type expected
Yêu cầu kiểu dữ liệu có thứ
tự
Sử dụng kiểu dữ liệu có thứ
tự (kiểu đếm được)
30Integer constant expected. Yêu cầu hằng số nguyên
31Constant expected Yêu cầu hằng số
32Integer or real constant expected.
Yêu cầu hằng số nguyên hoặc
hằng số thực
33Type identifier expected Không thấy định nghĩa kiểu Khai báo kiểu
34Invalid function result type
Kiểu dữ liệu trả về của hàm
không hợp lệ
Kiểu dữ liệu trả về của
hàm không phải là kiểu
đơn giản, chuẩn
Khai báo lại kiểu dữ liệu trả
về.
35Label identifier expected
Yêu cầu danh biểu là một
nhãn
Quên khai báo LABEL
trước khi dùng câu lệnh
GOTO
36Begin expected Không thấy BEGIN
Thông thường lỗi này là
do lập trình viên gõ sai
các từ khóa trước BEGIN
của chương trình chính
nên trình biên dịch hiểu
nhầm đã bắt đầu câu lệnh
mà không có BEGIN.
Kiểm tra lỗi gõ sai các từ
khóa, các khai báo trước
BEGIN của chương trình
chính.
37End expected Không thấy END
Thiếu từ khóa END tương
ứng của BEGIN hoặc của
khai báo RECORD hoặc
của cấu trúc CASE
38Integer expression expected Chờ một biểu thức nguyên
39Ordinal expression expected Chờ một biểu thức thứ tự
40Boolean expression expected Chờ một biểu thức logic
41Operand types do not match
operator
Toán hạng không phù hợp
với toán tử
Xem xét lại biểu thức xảy ra
lỗi.
42Error in expression Có lỗi trong biểu thức
43Illegal assignment Phép gán bất hợp lệ
44Field identifier expected Chờ một danh biểu trường
45Object file too large File đối tượng quá lớn
5
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
46Undefined external Chưa định nghĩa External
Sử dụng/gọi một thủ tục
biên dịch sẳn dạng
thức .BIN nhưng chưa
khai báo thủ tục này là
EXTERNAL
Khai báo thủ tục hoặc hàm
EXTERNAL.
47Invalid object-file record
Bản ghi của đối tượng file
không đúng
48Code segment too large
Đoạn mã chương trình quá
lớn
49Data segment too large Đoạn mã dữ liệu quá lớn
50Do expected Chờ DO
Viết thiếu từ khóa DO sau
câu lệnh FOR hoặc
WHILE
51Invalid public definition
Định nghĩa public không
đúng
52Invalid Extern definition
Định nghĩa External không
đúng
53Too many Extern definitions
Quá nhiều định nghĩa
External
54Of expected Chờ OF
Viết thiếu từ khóa OF
trong câu lệnh CASE
55Interface expected Chờ INTERFACE
Viết thiếu từ khóa
INTERFACE trong cấu
trúc của UNIT.
56Invalid relocatable reference
Liên hệ tái định vị không
đúng.
57Then expected Chờ THEN
Viết thiếu từ khóa THEN
trong câu lệnh IF
58To or Downto expected Chờ TO hoặc DOWNTO
Viết thiếu từ khóa
TO/DOWNTO trong câu
lệnh FOR
59Undefined forward Chưa định nghĩa FORWARD
Các thủ tục gọi lẫn nhau
nhưng quên khai báo
FORWARD. Thường xảy
ra trong trường hợp đệ
qui hỗ tương.
Phải khai báo FORWARD
cho tất cả thủ tục, hàm có gọi
lẫn nhau.
6
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
60Too many procedures Quá nhiều PROCEDURE
61Invalid typecast Ép kiểu không đúng
62Division by zero Chia cho số 0
1. Thực hiện một phép
chia cho 0 trong biểu
thức.
2. Unit CRT bị lỗi do
tốc độ bộ xử lí lớn
hơn 300 MHz. (Từ
các đời máy 80846
trở đi)
1. Xem lại biểu thức.
2. Cập nhật file
TURBO.TPL (Trong
hướng dẫn sửa lỗi khi cài
đặt TURBO PASSCAL)
63Invalid file type Kiểu file không đúng
64Cannot read or write variables of
this type
Không thể đọc hoặc ghi biến
thuộc kiểu dữ liệu này
Thông thường là do muốn
đọc hoặc ghi trực tiếp dữ
liệu kiểu Boolean
Đọc/Ghi gián tiếp cho kiểu
dữ liệu này.
65Pointer variable expected Chờ biến kiểu con trỏ
66String variable expected Chờ biến kiểu chuỗi
67String expression expected Chờ biểu thức chuỗi
68Circular unit reference Liên hệ Unit lòng vòng Các Unit gọi lẫn nhau.
69Unit name mismatch Tên Unit không khớp
70Unit version mismatch Phiên bản Unit không khớp
71Duplicate unit name Trùng lặp tên Unit
72Unit file format error Lỗi trong dạng thức file Unit
73Implementation expected Chờ IMPLEMENTATION
Viết thiếu từ khóa
IMPLEMENTATION
trong cấu trúc của UNIT.
74Constant and case types do not
match
Hằng và kiểu giá trị hằng
không khớp.
75Record variable expected Chờ đợi biến kiểu bản ghi
76Constant out of range Hằng vượt quá phạm vi
77File variable expected Chờ biến kiểu File
78Pointer expression expected Chờ biểu thức kiểu con trỏ
79Integer or real expression expected
Chờ biểu thức nguyên hoặc
thực
80Label not within current block
Nhãn không thuộc về block
hiện tại
Xem lại vị trí định nghĩa nhãn
hoặc xem lại tầm vực của
nhãn.
7
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
81Label already defined
Nhãn này đã được định nghĩa
rồi
82Undefined label in preceding
statement part
Nhãn chưa được định nghĩa
trong phần phát biểu trước
83Invalid @ argument Sử dụng sai đối số @
84Unit expected Chờ đợi Unit
85“;” expected Chờ đợi “;”
86“:” expected Chờ đợi “:”
87“,” expected Chờ đợi “,”
88“(“ expected Chờ đợi “(“
89“)” expected Chờ đợi “)”
90“=” expected Chờ đợi “=”
91“:=” expected Chờ đợi “:=”
92“[“ or “(.” expected Chờ đợi “[“ hoặc “(.”
93“]” or “.)” expected Chờ đợi “]” hoặc “.)”
94“.” expected Chờ đợi “.”
95“ ” expected Chờ đợi “ ”
Đây là những lỗi khá phổ
biến. Thông thường là do
gõ sai hoặc gõ sót các
token “;”,….
Thêm “;”
Thêm “:”
Thêm “,”
Thêm “(“
Thêm “)”
Thêm “=”
Thêm “:=”
Thêm “[“ hoặc “(.”
Thêm “]” hoặc “.)”
Thêm “.”
Thêm “ ”
96Too many variables Quá nhiều biến
Giảm bớt số biến đã khai báo.
Thông thường nên tăng
cường sử dụng biến cục bộ
thay cho biến toàn cục
97Invalid For control variable
Biến điều khiển vòng lặp
FOR không thích hợp
Đã dùng biến điều khiển
vòng lặp thuộc kiểu
không có thứ tự
Thay đổi kiểu của biến điều
khiển vòng lặp FOR.
98Integer variable expected Chờ một biến kiểu số nguyên
99Files are not allowed here
Không cho phép dùng File ở
đây
100String length mismatch
Chiều dài của chuỗi không
khớp
101Invalid ordering of fields Thứ tự các field không đúng
102String constant expected Chờ đợi một hằng chuỗi
103Integer or real variable expected
Chờ đợi biến nguyên hoặc
thực
104Ordinal variable expected Chờ đợi biến thứ tự
8
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
105Inline error Lỗi INLINE
Chèn mã assembly trực
tiếp vào chương trình
nguồn gây ra lỗi.
Xem lại các đoạn mã
assembly. Đảm bảo đúng cú
pháp của Microsoft
Assembly.
106Character expression expected Chờ đợi biểu thức kí tự
107Too many relocation items Quá nhiều mục tái định vị
108
109
110
111
112Case constant out of range
Hằng trị trong câu lệnh
CASE vượt quá phạm vi
113Error in statement Sai lầm trong câu lệnh
114Cannot call an interrupt procedure Không gọi được thủ tục ngắt
115
116Must be in 8087 mode to compile
this
Cần bộ xử lí dấu chấm động
8087 để biên dịch phần này
- Lỗi này không xảy ra nữa kể
từ thế hệ máy 80386 DX.
- Trong menu [Options >
Compiler] đánh dấu kiểm vào
ô 8087/80287.
117Target address not found
Không tìm thấy địa chỉ mục
tiêu
118Include files are not allowed here
Không được phép INCLUDE
file ở vị trí này
119
120Nil expected Chờ đợi con trỏ NIL
121Invalid qualifier Danh biểu không đúng
122Invalid variable reference Liên hệ biến không đúng
123Too many symbols Có quá nhiều kí hiệu
124Statement part too long Câu lệnh quá dài
125
126Files must be Var parameters
Phải sử dụng tham biến cho
kiểu dữ liệu File
Đã khai báo biến kiểu file
như là một tham trị trong
header
Phải khai báo tham biến cho
mọi tham số kiểu File trong
header của Procedure hoặc
Function.
127Too many conditional symbols Quá nhiều kí hiệu điều kiện
9
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
128Misplaced conditional directive
Đặt dẫn hướng điều kiện
không đúng chỗ
129ENDIF directive missing Sai lầm ở dẫn hướng ENDIF
130Error in initial conditional defines
Sai lầm ở khởi tạo định nghĩa
điều kiện
131Header does not match previous
definition
HEADER không khớp với
định nghĩa trước đó.
Khai báo các header trong
phần INTERFACE và trong
IMPLEMENTATION của
Unit phải khớp nhau.
132Critical disk error Đĩa có lỗi nghiêm trọng
Đây là lỗi khá khó chịu!
Có thể đĩa bị hỏng, bị lỗi
CRC, quên bẻ chốt khóa
(đối với ổ đĩa mềm),…
Xem xét lại ổ đĩa và đĩa
133Cannot evaluate this expression
Không lượng giá biểu thức
này được
Xem xét lại cú pháp của biểu
thức.
134Expression incorrectly terminated Biểu thức kết thúc sai
Thông thường là do thiếu
toán hạng, thiếu dấu “)”
135Invalid format specifier Sai ở bộ xác định dạng thức
136Invalid indirect reference Liên hệ gián tiếp sai
137Structured variables are not
allowed here.
Không cho phép biến có cấu
trúc ở đây.
Sử dụng biến kiểu đơn giản.
138Cannot evaluate without SYSTEM
unit
Không thể lượng giá mà
không có unit SYSTEM
Thông thường Unit
SYSTEM được tải lên
mặc định khi gọi Pascal
mà không cần khai báo
qua câu lệnh USES. Có
thể là do Unit SYSTEM
đã bị gỡ bỏ khỏi
TURBO.TPL. Dùng
TPUMOVER.EXE để
xem lại các Unit còn đang
được tích hợp trong
TURBO.TPL
- Tích hợp SYSTEM.TPU
vào TURBO.TPL trở lại.
- Khai báo USES
SYSTEM;
10
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
139Cannot access this symbol
Không thể truy cập kí hiệu
này
Có thể phải khai báo dẫn
hướng biên dịch {$ F+}
-Force far call - để truy cập/
gọi được kí hiệu này
140Invalid floating-point operation
Tác vụ xử lí dấu chấm động
sai
141Cannot compile overlays to
memory
Không thể biên dịch Overlay
vào bộ nhớ
142Procedure or function variable
expected
Chờ đợi biến thủ tục hoặc
biến hàm.
143Invalid procedure or function
reference
Liên hệ thủ tục hoặc hàm sai
144Cannot overlay this unit Không thể overlay unit này
145
146
147Object type expected Chờ đợi kiểu đối tượng
148Local object types are not allowed
here
Không cho phép dùng kiểu
đối tượng ở đây.
149VIRTUAL expected
Chờ đợi VIRTUAL (phương
thức ảo)
150Method identifier expected
Chờ đợi danh biểu là phương
thức
151Virtual constructors are not
allowed
Không cho phép phương thức
thiết lập ảo
152Constructor identifier expected
Chờ đợi danh biểu
CONSTRUCTOR (phương
thức thiết lập)
153Destructor identifier expected
Chờ đợi danh biểu
DESTRUCTOR (phương
thức hủy)
154Fail only allowed within
constructors
Chỉ cho phép Fail bên trong
CONSTRUCTOR
155Invalid combination of opcode and
operands
Sai lầm trong phối hợp mã
lệnh và toán hạng
156Memory reference expected
Chờ đợi một tham khảo đến
bộ nhớ.
11
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
157Cannot add or substract relocatable
symbols
Không thể thêm hoặc bớt các
kí hiệu khả tái định vị
158Invalid register combination Phối hợp sai thanh ghi
159286/287 Instructions are not
enabled
Không thể dùng các chỉ thị
286/287
Chỉ xảy ra trên các máy
8088/8086.
160Invalid symbol reference Liên hệ kí hiệu sai
161Code generation error. Lỗi phát sinh mã
II. Run-time error messages
A run-time error is an error condition that occurs while your program is running. When such an error occurs, Turbo Pascal display
this message:
Run-time error nnn at xxxx:yyyy
Where nnnn is the numeric code for the run-time error, xxxx is the program segment in which the error occurred, and yyyy is the
offset of the location of the error.
Lỗi trong thời gian chạy là lỗi xảy ra khi bạn đang cho chương trình hoạt động. Khi loại lỗi này xảy ra, Turbo Pascal cho hiện
thông báo này:
Run-time error nnn at xxxx:yyyy
Trong đó nnn là mã lỗi, xxxx là phân đoạn của chương trình và yyyy là độ dời trong phân đoạn tại vị trí mã lệnh gây ra lỗi.
Dos Errors
Lỗi thuộc hệ điều hành đĩa.
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
2 File not found Không tìm thấy File
3 Path not found Không tìm thấy đường dẫn
Xem lại tên file, đường dẫn.
4 Too many open files Mở quá nhiều File cùng lúc
Như lỗi số 13 compile time
error.
5 File access denied Bị từ chối truy cập File
1. File còn đang được mở bởi
một chương trình khác.
2. Ghi đè lên một file đang có
thuộc tính read only.
6 Invalid file handle Sai ở thẻ File
12 Invalid file access code Sai khi truy cập File
15 Invalid drive number Sai ở số hiệu ổ đĩa
Truy cập một ổ đĩa không
được hỗ trợ bởi Turbo Pascal.
12
16 Cannot remove current
directory
Không gỡ bỏ thư mục này
được
1. Thư mục đang được gán
thuộc tính Read only.
2. Thư mục đang còn chứa
File.
1. Set lại thuộc tính thư mục.
2. Xóa hết các File đang còn
tồn tại trong thư mục, kể cả các
file ẩn.
17 Cannot rename across
drives
Không thể đặt lại tên File từ
đĩa này qua đĩa kia
File cũ và File đó mới được đặt
tên lại phải nằm trong cùng thư
mục.
I/O Errors
Lỗi các thao tác nhập/xuất
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
100 Disk read error Lỗi đọc đĩa
101 Disk write error Lỗi ghi đĩa
Xem lại đĩa
102 File not assigned File chưa được gán Thiếu câu lệnh Assign(File,
Filename)
103 File not open File chưa được mở Thiếu câu lệnh Reset(File)
104 File not open for input File chưa được mở để ghi Thiếu câu lệnh Rewrite(File)
105 File not open for output File không được mở để ghi Ghi lên một File đã bị đóng bởi
lệnh Close(File)
Xem lại chương trình
106 Invalid numeric format Sai dạng thức dữ liệu số
Thủ tục Read hoặc Readln của
Pascal được quá tải cho nhiều
kiểu dữ liệu khác nhau nên gây
ra lỗi này khi người dùng nhập
dữ liệu kiểu chữ thay vì nhập
dữ liệu kiểu số cho một biến
kiểu số.
Đừng sử dụng các thủ tục Read
hoặc Readln được cung cấp
sẳn. Lập trình viên nên viết
riêng cho mình các thủ tục
nhập có kiểm tra dữ liệu nhập.
Critical Errors
Các lỗi nghiêm trọng
Mã lỗi và thông báo lỗi Ý nghĩa Các nguyên nhân có thể Hướng khắc phục
105 Disk is write-protected Đĩa bị chống ghi
Bật tab write-protected về chế
độ write enabled.
151 Unkown unit Không có Unit này
152 Drive not ready Ổ đĩa chưa sẳn sàng Xem lại ổ đĩa
13
153 Unknown command Không biết câu lệnh này
Xem lại câu lệnh và tham số
dòng lệnh.
154 CRC error in data Dữ liệu bị lỗi CRC
CRC: Cyclic Redundancy
Check. Lỗi ở mã vòng sửa sai.
1. Cập nhật lại file dữ liệu.
2. Kiểm tra lại tình trạng vật lí
của đĩa.
155 Bad drive request
structure length
Sai trong cấu trúc dữ liệu của
đĩa.
156 Disk seek error Sai khi đọc đĩa
1. Có thể do cross-link file.
2. Có thể do bảng FAT (File
allocation table) hoặc bảng
DIR bị hỏng.
Xem lại đĩa.
157 Unknown media type Không biết kiểu dữ liệu này
Đĩa được Format bởi một hệ
điều hành khác hoặc một ổ đĩa
chưa được hỗ trợ bởi Turbo
Pascal.
Sử dụng đĩa đúng format.
158 Sector not found Không tìm thấy cung từ này
1. Đĩa bị hỏng
2. Lỗi cross-link file
Sử dụng đĩa khác để ghi/đọc
dữ liệu
159 Printer out of paper Máy in hết giấy
160 Device write fault Lỗi xuất ra thiết bị
161 Device read fault Lỗi khi đọc từ thiết bị
162 Hardware failure Lỗi phần cứng
Kiểm tra lại các thiết bị liên
quan.
Fatal Errors
Các lỗi chí tử.
Mã lỗi và thông báo lỗi Ý nghĩa Hướng khắc phục Ghi chú
14
Không có nhận xét nào:
Đăng nhận xét