- 42
- 0
- 约5.74万字
- 约 44页
- 2016-11-27 发布于河南
- 举报
TURBO C错误的说明
TURBO C++错误大全 c++学习 2009-02-06 14:50:44 阅读315 评论0 字号:大中小 本附录列出的出错信息中用单引号括起的单词 代表一个通用的名或值,用户在屏幕上看到的出错信息是把这个单词用具体的名或值取代后的信息。例如:如果有一个C++函数goforit出现错误,用户在屏幕上看到的实际信息为: goforit must be declared with no arguments 要查阅这一条信息,必须找下面这一条信息: function must be declared with no arguments 下面列出本附录错误信息中用引号括起来的通用名和值, 用户得到的出错信息应该先用相应的名或值取代,然后再查阅。 手册中看到的 屏幕上看到的 argument 一个命令行或其它参数 class 一个类名 field 一个域引用 filename 一个文件名(扩展名可有可无) group 一个组名 identifier 一个标识符(变量名或其它) Language 一个程序语言的名字 member 数据成员或成员函数的名字 message 一个信息串 module 一个模块名 number 一个实际数 option 一个命令行或其它选择项 parameter 一个参数名 segment 一个段名 specifier 一个类型说明符 symbol 一个符号 xxxxh 一个后面跟着h的4位十六进制数 本附录按ASCII字母顺序列出出错信息。以符号(等号,逗号,括号等 )开头的信息通常放在前面。 由于上表列举的变量开头的错误信息不能以在屏幕上实际看到的出错信息的字母顺序排 列,所以所有这类信息总是放在每个错误信息表的开始处。 如果变量出现在错误信息正文后面,例如: Incorrect command__Lineargument 那么可以按这条出错信息的字母顺序查找,此处可在“I”开头的信息中找。 一、运行错误 Turbo C++只有少量运行错误信息。下面按字母顺序列出。 ●Abnormal program termination程序不正常结束。这是因为程序在运行时发现内存不够造成的。另外, 调用函数abort将显示出该信息。有些运行错误在最后将调用abort函数,因此会显示出该信息。 ●Divide by 0 用整数除以0。该错误可被signal函数探知。另外,还将调用abort函数,并使程序非正常结束。 ●Floating point error: Divide by 0 除数为0。如1.0/0.0。 ●Floating point error: Domain 结果不是一个数。如,0.0/0.0。 ●Floating point error: Overflow 在完全丢失精度的情况下,结果是+∞或-∞。如: double x=le200*le200 ●Floating point error: Partial loss of precision 在浮点操作时,丢失了精度。缺省时该错误被屏蔽,可调用control87来消除屏蔽。 ●Floating point error:Underflow 浮点操作时产生下溢,下溢值用0.0替换。缺省时该错误被屏蔽,可调用control87 来消除屏蔽。 ●Floating point error: Stack fault 浮点操作引起堆栈溢出。该错误不常出现,可能是由于汇编码使用的寄存器太多, 或者是没有说明浮点函数。 注意:上述这些浮点错误可以用函数control 187屏蔽,也可以用函数signal捕获。另外,这些浮点错误还将调用函数abort。以打印出:Abnormal program termination。并调用exit(3)。 ●Null pointer assignment 当一个small或medium内存模式的程序退出时, 将检查程序数据段开头的若干个字节的内容是否改变。如果这些字节内容被改变,则显示该信息, 通常这是因为有一个值被存进一个未初始化的指针中。尽管产生这个错误的程序在其它方面看上去运行正常,但它反映程序内部有严重错误,应对其予以重视。对一个未初始化的指针间接赋值可能导致不可预料的后果(在large、compact 或huge内存模式下,还可能出现“死锁”)。在集成调试器中可跟踪null指针。 ●Stack overflow Turbo C++程序中堆栈缺省大小是4096字节。这对于大多数程序来说是足够的,但是当程序执行复杂递归或大量使用局部数据时可能出现堆栈溢出。 只有当打开堆栈检查功能时才可能得到该信息。若要改正此错误,可以换用较大的内
原创力文档

文档评论(0)