书中讲到一种概念:防御式编程,主要思想是:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。 其中谈到对调用子程序的入参进行检查,有如下注意点:
检查所有来源于外部的数据的值:外部数据源包括从文件、用户、网络或其他外部接口。检查的内容:数据类型、数据长度、数据范围、还要格外注意那些狡猾的可能是攻击你系统的数据,包括企图令缓冲区溢出的数据、注入的SQL命令、注入的HTML和XML代码、整数溢出等;检查子程序所有输入参数的值。
在对待错误输入时,书中推荐做法是:适当的使用断言(用于处理代码中不应该发生的错误);处理异常。