free pascal 错误代码表

时间:2023-02-23 21:15:46

free pascal 错误代码表

为了方便对照检查运行时错误代码,这里把所有的错误代码的含义整理出来。(最大序号为232,中间不一定连续。user.pdf P175)

Run-time errors

Applications generated by Free Pascal might generate run-time errors when certain abnormal conditions are detected in the application. This appendix lists the possible run-time errors and gives information on why they might be produced.

1 Invalid function number An invalid operating system call was attempted.

2 File not found Reported when trying to erase, rename or open a non-existent file.

3 Path not found Reported by the directory handling routines when a path does not exist or is invalid. Also reported when trying to access a non-existent file.

4 Too many open files The maximum number of files currently opened by your process has been reached. Certain operating systems limit the number of files which can be opened concurrently, and this error can occur when this limit has been reached.

5 File access denied Permission to access the file is denied. This error might be caused by one of several reasons:

Trying to open for writing a file which is read-only, or which is actually a directory.

File is currently locked or used by another process.

Trying to create a new file, or directory while a file or directory of the same name already exists.

Trying to read from a file which was opened in write-only mode.

Trying to write from a file which was opened in read-only mode.

Trying to remove a directory or file while it is not possible.

No permission to access the file or directory.

6 Invalid file handle If this happens, the file variable you are using is trashed; it indicates that your memory is corrupted.

12 Invalid file access code Reported when a reset or rewrite is called with an invalid FileMode value.

15 Invalid drive number The number given to the Getdir or ChDir function specifies a nonexistent disk.

16 Cannot remove current directory Reported when trying to remove the currently active directory.
17 Cannot rename across drives You cannot rename a file such that it would end up on another disk or partition.

100 Disk read error An error occurred when reading from disk. Typically happens when you try to read past the end of a file.

101 Disk write error Reported when the disk is full, and you’re trying to write to it.

102 File not assigned This is reported by Reset, Rewrite, Append, Rename and Erase, if you call them with an unassigned file as a parameter.

103 File not open Reported by the following functions : Close, Read, Write, Seek, EOf, FilePos, FileSize, Flush, BlockRead, and BlockWrite if the file is not open.

104 File not open for input Reported by Read, BlockRead, Eof, Eoln, SeekEof or SeekEoln if the file is not opened with Reset.

105 File not open for output Reported by write if a text file isn’t opened with Rewrite.

106 Invalid numeric format Reported when a non-numeric value is read from a text file, and a numeric value was expected.

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 (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 The application attempted to divide a number by zero.

201 Range check error If you compiled your program with range checking on, then you can get this error in the following cases:

1. An array was accessed with an index outside its declared range.

2. Trying to assign a value to a variable outside its range (for instance an enumerated type).

202 Stack overflow error The stack has grown beyond its maximum size (in which case the size of local variables should be reduced to avoid this error), or the stack has become corrupt. This error is only reported when stack checking is enabled.

203 Heap overflow error The heap has grown beyond its boundaries. This is caused when trying to allocate memory explicitly 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 You will get this if you call Dispose or Freemem with an invalid pointer (notably, Nil).

205 Floating point overflow You are trying to use or produce real numbers that are too large.

206 Floating point underflow You are trying to use or produce real numbers that are too small.

207 Invalid floating point operation Can occur if you try to calculate the square root or logarithm of a negative number.

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 its object’s 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:

1. Dereferencing a nil pointer. 引用空指针

2. 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 exceptions 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.

222 Variant dispatch error No dispatch method to call from variant.

223 Variant array create The variant array creation failed. Usually when there is not enough mem ory.

224 Variant is not an array This error occurs when a variant array operation is attempted on a variant which is not an array.

225 Var Array Bounds check error This error occurs when a variant array index is out of bounds.

227 Assertion failed error An assertion failed, and no AssertErrorProc procedural variable was installed.

229 Safecall error check This error occurs is a safecall check fails, and no handler routine is available.
231 Exception stack corrupted This error occurs when the exception object is retrieved and none is available.

232 Threads not supported Thread management relies on a separate driver on some operating systems (notably, Unixes). The unit with this driver needs to be specified on the uses clause of the program, preferably as the first unit (cthreads on unix).

Top

free pascal 错误代码表的更多相关文章

  1. 常用的http网页错误代码表---------495引发的一个简单到爆,但基于国内环境只能呵呵呵的血案

    敲代码敲出了个网页错误代码 495. 然后,正常的跑去百度,看了一堆还是没有完整的网页错误代码,应该说国内的环境的网页错误代码表只有官方的那几个,那么只能FQ了. 去到谷歌,一查全是俄语,乐了,明白是 ...

  2. http 错误代码表

    所有 HTTP 状态代码及其定义.  代码  指示  2xx  成功  200  正常:请求已完成.  201  正常:紧接 POST 命令.  202  正常:已接受用于处理,但处理尚未完成.  2 ...

  3. IIS错误代码表

    当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码.该状态代码记录在 IIS ...

  4. Http错误代码表

    状态码 描述 100 Continue初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols服务器将遵从客户的请求转换到另外一种协议 200 OK指示请求成 ...

  5. oracle 错误代码表

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...

  6. GSM错误代码表

    转:http://blog.csdn.net/renjwjx/article/details/2290667 GSM device:  AT+CMEE=1  AT&W  CME ERROR's ...

  7. pascal闪电入门系列目录

    第一章  准备工作 第二章  Hello,world! 第三章  输出.输入 第四章  变量常量.基本数据类型 第五章  格式.注释 第六章  运算符.表达式.优先级 第七章  分支结构 第八章  数 ...

  8. [转]ORACLE 异常错误处理

    本文转自:http://www.cnblogs.com/soundcode/archive/2012/01/10/2318385.html 本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义 ...

  9. 总结:整理 oracle异常错误处理 .

    5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4  用户定义的异常处理 5.2 异常错误传播 5.2.1 在执行部分引发 ...

随机推荐

  1. Selenium安装失败WebDriverException: Message: 'gechodriver' executable needs to be in PATH

    在搭建Python+Selenium自动化测试时,用python通过WebDriver驱动Firefox浏览器时,一直无法执行测试用例. 报错信息:WebDriverException: Messag ...

  2. linux init 启动顺序

    redhat init大致启动过程 第一个运行的程序是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作.比如在设定了运行等级 “:id:3:initdefa ...

  3. 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)

    http://www.jb51.net/article/27616.htm   有次同事提出开发使用的mysql数据库连接很慢,因为我们的mysql开发数据库是单独一台机器部署的,所以认为可能是网络连 ...

  4. Linux Purify命令

    一.简介 在C/C++的软件开发中,没有任何一种工具可以让你的应用程序避免引入内存问题,但是我们可以使用诸如Purify这样的工具对已经做好了的程序进行内存问题的检查.Purify的强大之处是可以找到 ...

  5. 中文+django1.9+python3.5一些注意点

    1.模板html文件里一定要加 <!DOCTYPE html><meta http-equiv="Content-type" content="text ...

  6. ListView多选操作模式详解CHOICE&lowbar;MODE&lowbar;MULTIPLE与CHOICE&lowbar;MODE&lowbar;MULTIPLE&lowbar;MODAL

    这篇文章我们将详细的介绍如何实现ListView的多选操作,文中将会纠正在使用ListViewCHOICE_MODE_MULTIPLE或者CHOICE_MODE_MULTIPLE_MODAL时容易犯的 ...

  7. CSS里padding和margin的区别是什么?

    通俗地说——padding 就是内容与边框的距离:margin 就是边框与其他元素的距离.

  8. 用SQL表达交并差操作

    交-并-差的处理 SQL语言:并运算UNION,交运算INTERSECT,差运算EXCEPT 基本语法形式: 子查询{UNION [ALL] | INTERSECT [ALL] | EXPECT [A ...

  9. Linux 定时任务调度&lpar;crontab命令&rpar;

    crond 是Linux下用周期性的执行某种任务或者等待处理某些事件的一个守护进程,crond 进程会每分钟定期检查是否有要执行的任务,如果有要执行的任务则自动执行该任务 Linux 下的任务调度 系 ...

  10. ios NSTimer的强引用问题

    在一个controller中,使用 NSURLSessionDataTask *dataTask = [[NSURLSession sharedSession] dataTaskWithRequest ...