Consider what would happen if you were to return 1 inside the try block and return 0 inside the finally block… Your function would be trying to return two values! The combined options of try and catch are exhaustive in terms of control flow.