Testing and Debugging
Precondition Check
Testing a condition before a calculation keeps invalid input from reaching the risky line.
Precondition Check
PreconditionCheck.java
public class PreconditionCheck {
public static void main(String[] args) {
int divisor = ;
boolean valid = divisor != 0;
if (valid) {
int quotient = 40 / divisor;
System.out.println("valid=" + valid + " quotient=" + quotient);
} else {
System.out.println("valid=" + valid + " quotient=skipped");
}
}
}
public class PreconditionCheck {
public static void main(String[] args) {
int divisor = ;
boolean valid = divisor != 0;
if (valid) {
int quotient = 40 / divisor;
System.out.println("valid=" + valid + " quotient=" + quotient);
} else {
System.out.println("valid=" + valid + " quotient=skipped");
}
}
}
public class PreconditionCheck {
public static void main(String[] args) {
int divisor = ;
boolean valid = divisor != 0;
if (valid) {
int quotient = 40 / divisor;
System.out.println("valid=" + valid + " quotient=" + quotient);
} else {
System.out.println("valid=" + valid + " quotient=skipped");
}
}
}
precondition
A precondition is a fact that must be true before the next operation is safe.
guarded calculation
The guarded branch performs the calculation only when the input passes the check.