8.2.4 错误代码
通常还有一种办法比异常更加灵活——使用函数的返回值来指出问题。例如,类os- tream的get()成员函数通常返回下一个输入字符的ASCII码,到达文件尾时,将返回特殊值EOF。这种方法通过告知调用程序该调用是否成功,可使得程序采取“终止模型”之外的其他措施。依靠程序可以检查函数的返回值这一方法虽然灵活,但广大程序员并不经常这样做。例如,为了保证程序的短小精悍,有些程序不会检查new()产生的指针是否为空,也不会检查cout是否顺利地处理了输出。
在某处存储返回条件的方法是使用全局变量。在出现问题时,函数可以将该全局变量设置为特定的值,调用该函数的程序就可以检查变量的数值。传统的C语言数学库使用的错误处理方法即是全局变量,其名称为errno。当然,需要确保其他函数没有将该全局变量用于其他目的。