And the lesson to be learned here is, if your co-worker throws something at you (small object) tell him you don't appreciate it, and not to do it again. Next time it happens, go straight to your supervisor and report this co worker. Tell him/her that you do not appreciate this and you do not want it to happen again.
This way, you don't get so shocked you have to retaliate when he continues to do it, thus precipitating a situation such as you've gotten into. If he throws something at you large enough or hard enough to injure you ( I once dealt with an employer who threw a large metal staple gun at his employee's head!) call the police immediately and press charges against him for assault. But in any case, if the above has happened, and they decide to suspend you, you'll have a much better chance to be approved for unemployment benefits than if you threw it back at him.

