Not able to upload sketches after adding exit (0) to last sketch.. please help.

The last sketch I uploaded into my ATMega32U4 added the command "exit (0) ;" to close the loop from running on and on... only ever since it's uploaded, I can't upload any new sketches to the board. Does anyone have any advice on what I can do? When I plug the board into a computer it still produces the text from the most recent program, so it's still on there, but I'm thinking that the exit command did more than I expected somehow and perhaps shut the board down after running it???? I was using ABRISP mkll to upload before, and still using it now to (not) upload.

Here's the sketch:

#include "Keyboard.h"
void setup() {
// put your setup code here, to run once:

}
void loop() {
// put your main code here, to run repeatedly:

Keyboard.begin();
delay(1000);
Keyboard.print(F("25k code was here but I replaced it with this text")) ;

Keyboard.end() ;
exit(0) ;

}

When I try to upload anything now, I get this error message:

Sketch uses 3620 bytes (12%) of program storage space. Maximum is 28672 bytes.
Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.

avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = ""; type = �
Software Version = a.�; Hardware Version = �.�
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = ""; type = �
Software Version = a.�; Hardware Version = �.�
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader

jerbee:
I was using ABRISP mkll to upload before, and still using it now to (not) upload.

What do you mean by that? Are you saying that you actually have an AVRISP mkII connected to the ICSP header (or the equivalent pins) and are doing a Sketch > Upload Using Programmer to upload? Or are you saying that you are doing a standard Upload using a USB cable directly connected to the ATmega32U4 board and just happen to have Tools > Programmer > AVRISP mkII selected?