Đố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.
15 trang |
Chia sẻ: lylyngoc | Lượt xem: 2525 | Lượt tải: 4
Bạn đang xem nội dung tài liệu Một số thông bào lỗi trong pascal, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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 tôi sẽ rất cảm ơn và tôi sẽ bổ sung vào đây khi có thể.
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:
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 ¿
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.
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
Out of memory
Không đủ vùng nhớ
Mã chương trình quá lớn.
Mã dữ liệu quá lớn.
Bị virus.
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)
Identifier expected
Chờ một danh biểu
Unknown identifier
Không biết danh biểu này
Quên khai báo biến.
Gõ sai tên biến trong chương trình.
Gọi tới biến, danh biểu này ở ngoài tầm vực của nó.
Khai báo danh biểu này.
Sửa chữa lỗi gõ sai.
Xem xét lại tầm vực của danh biểu.
Duplicate identifier
Danh biểu bị trùng lặp
Tên biến trùng với tên chương trình.
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.
Đặt lại tên biến hoặc tên chương trình.
Syntax error
Lỗi cú pháp
Sửa lỗi cú pháp
Error in real constant
Lối về hằng số thực
Error in integer constant
Lỗi về hằng số nguyên
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.
Too many nested files
Quá nhiều file lồng nhau
Unexpected 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.
Line 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.
Type identifier expected
Không thấy kiểu của danh biểu
Quên khai báo kiểu của biến.
Too 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=. 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 cho thích hợp với chương trình đang viết. Mặc định 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.
Invalid 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.
File not found
Không tìm thấy file
Xem lại đường dẫn tới tên file
Disk 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.
Invalid 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.
Too many files
Có quá nhiều file
Undefined 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.
Variable 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.
Error in type
Lỗi về kiểu dữ liệu
Xem lại kiểu dữ liệu qui định ở vị trí này.
Structure too large
Cấu trúc quá lớn
Set base type out of range
Kiểu cơ sở bị vượt quá phạm vi dữ liệu
File 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
Invalid string length
Chiều dài chuỗi không hợp lệ
Type 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).
Invalid subrange base type
Phạm vi không khớp với phạm vi của kiểu cơ sở
Lower bound greater than upper bound
Cận dưới lớn hơn cận trên
Khai báo lại
Ordinal 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)
Integer constant expected.
Yêu cầu hằng số nguyên
Constant expected
Yêu cầu hằng số
Integer or real constant expected.
Yêu cầu hằng số nguyên hoặc hằng số thực
Type identifier expected
Không thấy định nghĩa kiểu
Khai báo kiểu
Invalid 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ề.
Label 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
Begin 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.
End 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
Integer expression expected
Chờ một biểu thức nguyên
Ordinal expression expected
Chờ một biểu thức thứ tự
Boolean expression expected
Chờ một biểu thức logic
Operand 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.
Error in expression
Có lỗi trong biểu thức
Illegal assignment
Phép gán bất hợp lệ
Field identifier expected
Chờ một danh biểu trường
Object file too large
File đối tượng quá lớn
Undefined 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.
Invalid object-file record
Bản ghi của đối tượng file không đúng
Code segment too large
Đoạn mã chương trình quá lớn
Data segment too large
Đoạn mã dữ liệu quá lớn
Do expected
Chờ DO
Viết thiếu từ khóa DO sau câu lệnh FOR hoặc WHILE
Invalid public definition
Định nghĩa public không đúng
Invalid Extern definition
Định nghĩa External không đúng
Too many Extern definitions
Quá nhiều định nghĩa External
Of expected
Chờ OF
Viết thiếu từ khóa OF trong câu lệnh CASE
Interface expected
Chờ INTERFACE
Viết thiếu từ khóa INTERFACE trong cấu trúc của UNIT.
Invalid relocatable reference
Liên hệ tái định vị không đúng.
Then expected
Chờ THEN
Viết thiếu từ khóa THEN trong câu lệnh IF
To or Downto expected
Chờ TO hoặc DOWNTO
Viết thiếu từ khóa TO/DOWNTO trong câu lệnh FOR
Undefined 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.
Too many procedures
Quá nhiều PROCEDURE
Invalid typecast
Ép kiểu không đúng
Division by zero
Chia cho số 0
Thực hiện một phép chia cho 0 trong biểu thức.
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)
Xem lại biểu thức.
Cập nhật file TURBO.TPL (Trong hướng dẫn sửa lỗi khi cài đặt TURBO PASSCAL)
Invalid file type
Kiểu file không đúng
Cannot 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.
Pointer variable expected
Chờ biến kiểu con trỏ
String variable expected
Chờ biến kiểu chuỗi
String expression expected
Chờ biểu thức chuỗi
Circular unit reference
Liên hệ Unit lòng vòng
Các Unit gọi lẫn nhau.
Unit name mismatch
Tên Unit không khớp
Unit version mismatch
Phiên bản Unit không khớp
Duplicate unit name
Trùng lặp tên Unit
Unit file format error
Lỗi trong dạng thức file Unit
Implementation expected
Chờ IMPLEMENTATION
Viết thiếu từ khóa IMPLEMENTATION trong cấu trúc của UNIT.
Constant and case types do not match
Hằng và kiểu giá trị hằng không khớp.
Record variable expected
Chờ đợi biến kiểu bản ghi
Constant out of range
Hằng vượt quá phạm vi
File variable expected
Chờ biến kiểu File
Pointer expression expected
Chờ biểu thức kiểu con trỏ
Integer or real expression expected
Chờ biểu thức nguyên hoặc thực
Label 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.
Label already defined
Nhãn này đã được định nghĩa rồi
Undefined label in preceding statement part
Nhãn chưa được định nghĩa trong phần phát biểu trước
Invalid @ argument
Sử dụng sai đối số @
Unit expected
Chờ đợi Unit
“;” 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 “;”
“:” expected
Chờ đợi “:”
Thêm “:”
“,” expected
Chờ đợi “,”
Thêm “,”
“(“ expected
Chờ đợi “(“
Thêm “(“
“)” expected
Chờ đợi “)”
Thêm “)”
“=” expected
Chờ đợi “=”
Thêm “=”
“:=” expected
Chờ đợi “:=”
Thêm “:=”
“[“ or “(.” expected
Chờ đợi “[“ hoặc “(.”
Thêm “[“ hoặc “(.”
“]” or “.)” expected
Chờ đợi “]” hoặc “.)”
Thêm “]” hoặc “.)”
“.” expected
Chờ đợi “.”
Thêm “.”
“..” expected
Chờ đợi “..”
Thêm “..”
Too 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
Invalid 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.
Integer variable expected
Chờ một biến kiểu số nguyên
Files are not allowed here
Không cho phép dùng File ở đây
String length mismatch
Chiều dài của chuỗi không khớp
Invalid ordering of fields
Thứ tự các field không đúng
String constant expected
Chờ đợi một hằng chuỗi
Integer or real variable expected
Chờ đợi biến nguyên hoặc thực
Ordinal variable expected
Chờ đợi biến thứ tự
Inline 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.
Character expression expected
Chờ đợi biểu thức kí tự
Too many relocation items
Quá nhiều mục tái định vị
Case constant out of range
Hằng trị trong câu lệnh CASE vượt quá phạm vi
Error in statement
Sai lầm trong câu lệnh
Cannot call an interrupt procedure
Không gọi được thủ tục ngắt
Must 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.
Target address not found
Không tìm thấy địa chỉ mục tiêu
Include files are not allowed here
Không được phép INCLUDE file ở vị trí này
Nil expected
Chờ đợi con trỏ NIL
Invalid qualifier
Danh biểu không đúng
Invalid variable reference
Liên hệ biến không đúng
Too many symbols
Có quá nhiều kí hiệu
Statement part too long
Câu lệnh quá dài
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.
Too many conditional symbols
Quá nhiều kí hiệu điều kiện
Misplaced conditional directive
Đặt dẫn hướng điều kiện không đúng chỗ
ENDIF directive missing
Sai lầm ở dẫn hướng ENDIF
Error in initial conditional defines
Sai lầm ở khởi tạo định nghĩa điều kiện
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.
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
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.
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 “)”
Invalid format specifier
Sai ở bộ xác định dạng thức
Invalid indirect reference
Liên hệ gián tiếp sai
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.
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;
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
Invalid floating-point operation
Tác vụ xử lí dấu chấm động sai
Cannot compile overlays to memory
Không thể biên dịch Overlay vào bộ nhớ
Procedure or function variable expected
Chờ đợi biến thủ tục hoặc biến hàm.
Invalid procedure or function reference
Liên hệ thủ tục hoặc hàm sai
Cannot overlay this unit
Không thể overlay unit này
Object type expected
Chờ đợi kiểu đối tượng
Local object types are not allowed here
Không cho phép dùng kiểu đối tượng ở đây.
VIRTUAL expected
Chờ đợi VIRTUAL (phương thức ảo)
Method identifier expected
Chờ đợi danh biểu là phương thức
Virtual constructors are not allowed
Không cho phép phương thức thiết lập ảo
Constructor identifier expected
Chờ đợi danh biểu CONSTRUCTOR (phương thức thiết lập)
Destructor identifier expected
Chờ đợi danh biểu DESTRUCTOR (phương thức hủy)
Fail only allowed within constructors
Chỉ cho phép Fail bên trong CONSTRUCTOR
Invalid combination of opcode and operands
Sai lầm trong phối hợp mã lệnh và toán hạng
Memory reference expected
Chờ đợi một tham khảo đến bộ nhớ.
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ị
Invalid register combination
Phối hợp sai thanh ghi
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.
Invalid symbol reference
Liên hệ kí hiệu sai
Code generation error.
Lỗi phát sinh mã
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
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 r