Các mã lỗi của Turbo Pascal
Đố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ằngtră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ếuké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áolỗ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ểuthô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.
d
here
Không được phép INCLUDE
file ở vị trí này
119
120 Nil expected Chờ đợi con trỏ NIL
121 Invalid qualifier Danh biểu không đúng
122 Invalid variable reference Liên hệ biến không đúng
123 Too many symbols Có quá nhiều kí hiệu
124 Statement part too long Câu lệnh quá dài
125
126 Files 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.
127 Too many conditional symbols Quá nhiều kí hiệu điều kiện
128 Misplaced conditional directive
Đặt dẫn hướng điều kiện
không đúng chỗ
129 ENDIF directive missing Sai lầm ở dẫn hướng ENDIF
130 Error in initial conditional
defines
Sai lầm ở khởi tạo định nghĩa
điều kiện
10
131 Header 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.
132 Critical 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
133 Cannot 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.
134 Expression 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 “)”
135 Invalid format specifier Sai ở bộ xác định dạng thức
136 Invalid indirect reference Liên hệ gián tiếp sai
137 Structured 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.
138 Cannot 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;
139 Cannot 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
140 Invalid floating-point operation
Tác vụ xử lí dấu chấm động
sai
141 Cannot compile overlays to
memory
Không thể biên dịch Overlay
vào bộ nhớ
11
142 Procedure or function variable
expected
Chờ đợi biến thủ tục hoặc
biến hàm.
143 Invalid procedure or function
reference
Liên hệ thủ tục hoặc hàm sai
144 Cannot overlay this unit Không thể overlay unit này
145
146
147 Object type expected Chờ đợi kiểu đối tượng
148 Local object types are not
allowed here
Không cho phép dùng kiểu
đối tượng ở đây.
149 VIRTUAL expected
Chờ đợi VIRTUAL (phương
thức ảo)
150 Method identifier expected
Chờ đợi danh biểu là phương
thức
151 Virtual constructors are not
allowed
Không cho phép phương
thức thiết lập ảo
152 Constructor identifier expected
Chờ đợi danh biểu
CONSTRUCTOR (phương
thức thiết lập)
153 Destructor identifier expected
Chờ đợi danh biểu
DESTRUCTOR (phương
thức hủy)
154 Fail only allowed within
constructors
Chỉ cho phép Fail bên trong
CONSTRUCTOR
155 Invalid combination of opcode
and operands
Sai lầm trong phối hợp mã
lệnh và toán hạng
156 Memory reference expected
Chờ đợi một tham khảo đến
bộ nhớ.
157 Cannot add or substract
relocatable symbols
Không thể thêm hoặc bớt các
kí hiệu khả tái định vị
158 Invalid register combination Phối hợp sai thanh ghi
159 286/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.
160 Invalid symbol reference Liên hệ kí hiệu sai
161 Code generation error. Lỗi phát sinh mã
12
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
Xem lại tên file, đường dẫn.
3 Path not found Không tìm thấy đườ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.
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
13
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
Xem lại đĩa
101 Disk write error Lỗi ghi đĩa
102 File not assigned File chưa được gán Thiếu câu lệnh Assign(File,
Filename)
Xem lại chương trình
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)
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
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
Xem lại đĩa.
14
allocation table) hoặc bảng
DIR bị hỏng.
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
Kiểm tra lại các thiết bị liên
quan.
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
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ú
200 Division by zero Thực hiện phép chia cho số 0
Kiểm tra lại diễn tiến của các
biến trong chương trình
Đây là các lỗi làm
dừng ngay chương
trình đang thực thi.
Một số trường hợp có
thể gây Halt toàn bộ
hệ thống.
Thông thường lập
trình viên cần phải
xem lại phân tích
lôgich của chương
trình để sử dụng các
kiểu dữ liệu khác
thích hợp hơn.
201 Range check error Lỗi vượt quá phạm vi dữ liệu
Dùng dẫn hướng biên dịch
{$R-} nhưng phải cẩn thận.
202 Stack overflow error Lỗi tràn stack
1. Kiểm tra lại tổng kích
thước các biến đã khai báo
trong chương trình, trong
từng thủ tục.
2. Giới hạn độ sâu của các
lời gọi đệ qui.
3. Dùng dẫn hướng biên dịch
{$M xxxx, yy, zzzz} để yêu
cầu một vùng stack lớn hơn
(xxxx: stack size).
203 Heap overflow error Lỗi tràn Heap
1. Giới hạn số lời gọi cấp
phát con trỏ qua lệnh NEW.
2. Phối hợp sử dụng các lệnh
NEW, Mark, Dispose và
Release để quản lí tốt hơn
vùng Heap
15
3. Dùng dẫn hướng biên dịch
{$M xxxx,yy,zzzz} để yêu
cầu một vùng heap lớn hơn
(yy: heapmin; zzzz:
heapmax).
204 Invalid pointer operation Tác vụ con trỏ không đúng
205 Floating-point overflow
Lỗi xử lí đấu chấm động bị
tràn.
Dùng kiểu dữ liệu có phạm
vi lớn hơn (Dùng kiểu
Extended thay cho kiểu Real) 206 Floating-point underflow
Lỗi xử lí dấu chấm động bị
hụt
207 Invalid floating-point operation Sai ở tác vụ dấu chấm động.
208 Overlay manager not installed
Chưa cài đặt trình quản lí
overlay.
209 Overlay file read error Bị lỗi khi đọc file overlay.
210 Object not initialized Chưa khởi tạo đối tượng.
211 Call to abstract method
Gọi tới một phương thức
trừu tượng
212 Stream registration error Lỗi đăng kí dòng dữ liệu.
213 Collection index out of range
Chỉ mục tuyển tập vượt quá
phạm vi
214 Collection overflow error. Lỗi tràn tuyển tập
File đính kèm:
Các mã lỗi của Turbo Pascal.pdf

