Defensive Programming
Input Validation
Validation checks incoming values before the rest of the program trusts them.
Input Validation
input_validation.cpp
#include <iostream>
int main() {
int requestedSeats = ;
int fallbackSeats = 1;
int maxSeats = 6;
bool valid = requestedSeats >= 1 && requestedSeats <= maxSeats;
int seats = valid ? requestedSeats : fallbackSeats;
std::cout << "requestedSeats=" << requestedSeats << std::endl;
std::cout << "valid=" << valid << std::endl;
std::cout << "seats=" << seats << std::endl;
return 0;
}
#include <iostream>
int main() {
int requestedSeats = ;
int fallbackSeats = 1;
int maxSeats = 6;
bool valid = requestedSeats >= 1 && requestedSeats <= maxSeats;
int seats = valid ? requestedSeats : fallbackSeats;
std::cout << "requestedSeats=" << requestedSeats << std::endl;
std::cout << "valid=" << valid << std::endl;
std::cout << "seats=" << seats << std::endl;
return 0;
}
#include <iostream>
int main() {
int requestedSeats = ;
int fallbackSeats = 1;
int maxSeats = 6;
bool valid = requestedSeats >= 1 && requestedSeats <= maxSeats;
int seats = valid ? requestedSeats : fallbackSeats;
std::cout << "requestedSeats=" << requestedSeats << std::endl;
std::cout << "valid=" << valid << std::endl;
std::cout << "seats=" << seats << std::endl;
return 0;
}
input validation
Defensive code chooses a safe path when input falls outside the allowed range.