Lỗi trình biên dịch (run-time error)

Một phần của tài liệu Giáo trình lập trình nâng cao - Phụ lục pptx (Trang 39 - 40)

Khi trình biên dịch gặp các lỗi này chương trình sẽ bị dừng ngay lập tức.

200 Division by zero Chương trình cố gắng chia một số cho 0 trong phép toán

mod hoặc div.

201 Range check error Nếu ñịnh hướng biên dịch là {$R+} thì lỗi sẽñược thông báo khi một trong các tình huống sau xảy ra:

* Chỉ số của một mảng vượt ra ngoài phạm vi ñã khai báo * Gán một giá trị vượt ra ngoài phạm vi cho phép của một biến.

* Giá trị gán cho tham số của một hàm hay một biến vượt ra ngoài phạm vi cho phép

202 Stack overflow error

Stack bị tràn. Nếu ñịnh hướng biên dịch là {$S+} thì lỗi sẽ ñược thông báo khi không có ñủ chỗ trống trên stack ñể

bố trí bộ nhớ cục bộ của các chương trình con. Có thể thay

ñổi Stack bằng cách dùng ñịnh hướng biên dịch $M. * Lỗi này cũng có thể do vòng lặp vô tận gây ra, hoặc do một thủ tục viết trong ngôn ngữ assembler không duy trì tình trạng stack.

203 Heap overflow error Lỗi này do các thủ tục New hoặc GetMem báo lại nếu không còn ñủ chỗ trống trong heap ñể cấp phát một vùng nhớ theo yêu cầu.

204 Invalid pointer operation

Lỗi này do các thủ tục Dispose hoặc FreeMem gây ra nếu như con trỏ là Nil hoặc trỏ tới một vị trí nằm ngoài heap. 205 Floating point

overflow Phép tính vlớn . ới dấu chấm ñộng tạo ra kết quả là một số quá 207 Invalid floating

point operation

Một tham số thực trong các hàm Trunc hoặc Round không thể chuyển ñổi thành một số nguyên trong phạm vi số

nguyên dài LongInt (-2147483648 - 2147483647). * Tham số của hàm Sqrt mang giá trị âm.

* Tham số của hàm Ln là zero hoặc âm.

* Sự tràn 8087 ñã xảy ra. (xem trong chương 14. “Using the 80x87” trong cuốn Language gude.)

208 Overlay manager not installed

Trình quản lý overlay chưa ñược cài ñặt. Lỗi có thể là do không gọi OverInit hoặc lời gọi OverInit không chạy. 209 Overlay file read

Mc lc

Li mởñầu 2

Một phần của tài liệu Giáo trình lập trình nâng cao - Phụ lục pptx (Trang 39 - 40)