Una diferencia entre programación defensiva y prácticas normales es que pocas hipótesis son hechas por el programador, el cual intenta manejar todos los posibles estados de error.