错误处理
程序出错的类型大概可以分为两类:
编译时错误(complie-time error) 和 运行时错误(run-time error)
防止编译时错误的编程技巧:
1:开始写代码之前先画出流程图。
2:编译错误不要立刻修改源代码,应该先完整的审阅一遍源代码,再开始纠正错误。
3:检查自己是否已经把所有必要的头文件全部include进源代码了。
4:留意变量的作用域和命名空间。
5:把调试好的代码另外保存起来并不再改动它,然后把这些代码划分成各个模块,需要的时候直接拉取代码即可。
防止运行时错误的编程技巧:
1:培养并保持一种良好的编程风格。
2:多用注释,用好注释。
3:注意操作符的优先级,如果想让一系列操作按照希望的顺序发生,最保险的方式时用括号来确保这种顺序。
4:不要对操作顺序作任何假设,在某些场合,++和*和->之类的高优先级操作符的行为并不是自己想象的那样。
5:千万不要忘记用户输入和文件输入进行合法性检查,最好让别的程序员和用户对你的程序进行合法性检查。
6:不要作任何假设,不要想当然的认为一个应该发生的操作,想当然的认为用户肯定会按照你的意愿去使用你的程序。
7:把程序划分为一些比较小的单元模块来测试程序,程序越长就难以测试,条件允许的情况下应把一些较大的程序划分成一系列比较小的单元模块来加以测试。
错误处理的方法:
让函数返回错误代码:
当程序错误的原因是计算出的结果的值超过了 计算机能表达的最大整数的时候,我们就可以利用climits头文件进行调试
climits头文件:
这个头文件是从C的limits.h的头文件引用过来的。它主要列出了各种数据类型在给定操作系统上的取值范围,并把每种数据类型的最大可取值和最小可取值都分别定义为一个常量来供我们进行比较。
其中:
SHORT_MAX :代表短整数(short int)类型在给定系统上的最大可取值
SHORT_MIN :代表短整数(short int)类型在给定操作系统上的最小可取值
USHORT_MAX :代表无符号整数类型(unsigned int)的最大可取值
ULONG_MAX : 用于在一个程序要判断计算的结果是否超出一个无符号长整型(unsigned long int)的最大取值,可以使用来提前获取这个值进行对比。
案例:利用climits中的ULONG_MAX指令规定乘积计算结果的范围
#

本文探讨了C++编程中错误处理的两大类别——编译时错误和运行时错误,提供了一系列预防和解决错误的编程技巧。强调了在编写代码前制定流程图、检查头文件、注意变量作用域等重要性。此外,还介绍了利用climits头文件进行错误检查的方法,以及错误处理的常见方法,如返回错误代码,并展示了如何利用ULONG_MAX确保计算结果在无符号长整型的最大取值范围内。
最低0.47元/天 解锁文章
1124

被折叠的 条评论
为什么被折叠?



