I figured why it didn't catch KeyboardInterrupt, the second(nested) exception catches everything and just continues the program.