程序错误和运行错误
程序错误(program error)是指程序本身所固有的错误,这种错误可能会造成程序功能不正常、数据丢失、程序非正常终止等问题。程序错误永远都不应该出现,事实上由于现在的软件越来越复杂,程序错误又是难以避免的。
造成程序错误的主要原因有:
1.语法错误。
2.逻辑缺陷。
3.边界情况处理不当。
4.编码错误。
运行错误(run-time error)是指程序执行时发生的错误。这类错误语法上是正确的,所以编译器无法检测到;但这类错误在程序执行时随时都有可能发生。
造成运行错误的主要原因有:
1.与数据类型使用有关的错误。
2.函数未能实现期望功能所造成的错误。
3.其它原因(如内存不足等)造成的错误。
断言不是用来处理运行错误的,例如,在一个程序中要求输入一个正数,而用户意外输入了一个负数,这样会使断言生效;这种情况下更好的做法是使用适当的错误检查和恢复代码(例如:要求重新输入)来处理,而不是通过断言来处理。