Serial Monitor isn't displaying entire print

The problem is that when the line:

exit(0);

is reached it kills the program execution. I takes some time for the serial prints to go out, which makes it appear that it's halting in setup() when the program has actually progressed beyond there. If you add a delay statement after the serial prints you will see the full text. This is a serious problem of using Serial.print() for debug output.

There's really no good reason to use exit() in an Arduino program because you have nowhere to exit to. If you want to permanently halt program execution you can use an infinite loop:

while(true) {}