It's comforting to think that in the code you write, everything will always happen as expected, and your program can handle any eventuality. However, sometimes things can go wrong – really wrong. A situation could arise that you know is possible but don't expect to ever happen, and the program should terminate if it does. In this recipe, we will look at two issues like this: fatalError and precondition.





















































