博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Free Pascal编译的程序运行错误代码解析

Posted on 2010-10-20 08:48  桃子在路上  阅读(779)  评论(0编辑  收藏  举报

Run time errors
Free Pascal生成的应用程序也许会生成一些运行错误,当应用程序发现某个确定的异常情况时,这里列出了错误代码,并且解释产生的原因。

1 Invalid function number
错误的功能代码
尝试错误的操作系统调用.
2 File not found
文件未找到
程序试图删除(erase),重命名( rename),打开(open)一个不存在的文件.
3 Path not found
目录未发现
目录不存在或是错误.也有可能是访问一个不存在的文件.
4 Too many open files
打开太多的文件
当前你的程序当前打开的文件太多咯.超过了操作系统允许打开的最多文件数.
5 File access denied
文件访问拒绝
访问文件拒绝.引起这个错误可能是下面几个原因:
试图写一个只读文件,或者实际上是一个目录.
文件正在为其他程序所使用.
试图建立一个目录中已经存在的文件名的文件.
试图从一个只能写的文件中读数据.
试图从一个只能读的文件中写数据.
试图移除一个不存在的文件或目录.
不允许访问这个文件或者目录.
6 Invalid file handle
错误的文件句柄
表示你的文件表示府已经失效; 指出你的内存已经混乱.
12 Invalid file access code
错误的文件访问代码
reset 或 rewrite 使用一个错误的文件模式值.
15 Invalid drive number
错误的驱动器数字
Getdir或者ChDir函数所使用数字指向了一个不存在的磁盘.
16 Cannot remove current directory
不能移动当前目录
试图移除的目录是当前活动目录..
17 Cannot rename across drives
不能跨越驱动器更改文件名
你不能重命名一个文件,它可能在另一个磁盘或分区结束.
100 Disk read error
磁盘读错误
从磁盘读数据时错误.具有代表性的是你读文件超过了文件结尾.
101 Disk write error
磁盘写错误
磁盘已经满咯,可是你还试图写入数据..
102 File not assigned
文件未曾建立关联
使用Reset, Rewrite, Append, Rename和 Erase 之前你必须已经将文件标识符与磁盘文件建立关联.
103 File not open
文件未打开
在使用 Close, Read, Write, Seek, EOf, FilePos, FileSize, Flush, BlockRead, and BlockWrite 之前未打开文件.
104 File not open for input
文件不能打开读数据
在使用 Read, BlockRead, Eof, Eoln, SeekEof or SeekEoln 之前文件未使用Reset打开.
105 File not open for ouTPut
文件不能打开写数据
使用write之前未使用Rewrite打开.
106 Invalid numeric format
错误的数字格式
从标准输入(Text文件)中预期得到的数字格式不对.
150 Disk is write-protected
磁盘写保护
(Critical error)=临界误差
151 Bad drive request struct length
(Critical error)
152 Drive not ready
驱动器未准备好
(Critical error)
154 CRC error in data
数据CRC校检错误
(Critical error)
156 Disk seek error
磁盘寻道错误
(Critical error)
157 Unknown media type
不明的媒体类型
(Critical error)
158 Sector Not Found
磁盘扇区错误
(Critical error)
159 Printer out of paper
打印超过纸张
(Critical error)
160 Device write fault
设备写错误
(Critical error)
161 Device read fault
设备读错误
(Critical error)
162 Hardware failure
硬件失灵
(Critical error)
200 Division by zero
被除数为0.
201 Range check error
如果你编译你的程序时设置了方位检查,原因有可能是:
数组访问超过了声明的范围.
试图给一个变量赋值超过其范围(例如枚举类型).
202 Stack overflow error
栈溢出,栈增长超过了最大值,只有当栈检查时才出现该错误.
 (in which case the size of local variables should be reduced to avoid this error), or the stack has become corrupt. 
203 Heap overflow error
堆溢出,堆增长超过了上界.
This is caused when trying to allocate memory exlicitly with New, GetMem or ReallocMem, or when a class or object instance is created and no memory is left. Please note that, by default, Free Pascal provides a growing heap, i.e. the heap will try to allocate more memory if needed. However, if the heap has reached the maximum size allowed by the operating system or hardware, then you will get this error.
204 Invalid pointer operation
错误的指针操作
使用 Dispose or Freemem 时使用错误的指针 (特别的, Nil)
205 Floating point overflow
浮点数上溢
你试图使用或产生一个太大实数.
206 Floating point underflow
你试图使用或产生一个太小实数.
207 Invalid floating point operation
错误的浮点数操作
可能是你开平方根或者对数时使用负数.
210 Object not initialized
对象未初始化
When compiled with range checking on, a program will report this error if you call a virtual method without having called istr constructor.
211 Call to abstract method
Your program tried to execute an abstract virtual method. Abstract methods should be overridden, and the overriding method should be called.
212 Stream registration error
This occurs when an invalid type is registered in the objects unit.
213 Collection index out of range
You are trying to access a collection item with an invalid index (objects unit).
214 Collection overflow error
The collection has reached its maximal size, and you are trying to add another element (objects unit).
215 Arithmetic overflow error
This error is reported when the result of an arithmetic operation is outside of its supported range. Contrary to Turbo Pascal, this error is only reported for 32-bit or 64-bit arithmetic overflows. This is due to the fact that everything is converted to 32-bit or 64-bit before doing the actual arithmetic operation.
216 General Protection fault
保护错误,程序试图读写不合法的内存区域
The application tried to access invalid memory space. This can be caused by several problems:
Deferencing a nil pointer
Trying to access memory which is out of bounds (for example, calling move with an invalid length).
217 Unhandled exception occurred
An exception occurred, and there was no exception handler present. The sysutils unit installs a default exception handler which catches all excpetions and exits gracefully.
219 Invalid typecast
Thrown when an invalid typecast is attempted on a class using the as operator. This error is also thrown when an object or class is typecast to an invalid class or object and a virtual method of that class or object is called. This last error is only detected if the -CR compiler option is used.
227 Assertion failed error
An assertion failed, and no AssertErrorProc procedural variable was installed.