Some dropping is inevitable, as they learn about how to eat neatly- that takes time and patience and gentle reminders. I do start including them in the cleanup process, around the time they start to walk-- asking them to pick up a bit and put it back on a napkin, making a game out of it.
Mine are older now, and still I usually need to sweep after every meal. My 6 year old is just starting to get so she can be depended on to keep her clothes and the floor clean, but my 3 1/2 year olds still drop a lot, even when they're trying to be neat.
But when they start flinging on purpose, that's different. Sometimes they throw something they don't want-- in that case, I'd want to start gently teaching how to set something aside. I'd even provide a little extra bowl to put unwanted items in. My DD1 used to use the cup holder on the high chair tray for her discards.

Sometimes they're really just not hungry, and they're playing, and that's fine, but food is not a toy, so I'll take the food and offer something else instead, or get them down and send them on their way. And finally, sometimes they've worked out that flinging gets them a reaction, and they're doing it because they enjoy seeing you react. In that case, I'd just quietly put the child down from the table, or take the food, and try not to comment or react AT ALL.