trap cannot "trap" all signals, for example SIGKILL is "immune" to a trap.
Near the top of your file:
#!/bin/ksh
trap "rm -f somefile; exit 1" INT # you can add more signals here
will execute the command in quotes when CTRL/C -- SIGINT -- is sent to the process.
kill -l (that's the letter ELL) will show you the names of your signals. Be aware that not all signals need to be trapped nor can they be.
pludi is helpfully pointing out - you ought know that it is possible to make your trap statement do the cleanup on exit - in ksh anyway, I dunno about bash.