"Is there a way to prevent this next year?"
Yes..sort of..
Plan to grow most perfect, big and lush chinese cabbages..get them into good start and plant into border near tomatoes..and see how they romp away only to be eaten by the b***y caterpillars.. ::) Good thing is..that when you clear the half eaten cabbages away you take many of them with you and less left to tomatoes.. ::)
My tomatoes only had odd few this year..after giving the plants good shake, rest of the pests dropped on to ground and I could pick them off.
When I used use sticky traps in GH some of the flying moths got court into those but so did the too many 'good guys'...so I stopped using them. But catching flying moths is too late anyway...they've already done the 'deeds' for the next generation.
Clearing away dead plant material as much as possible will ensure not so many survive winter hibernation..and suppose any pots will provide hiding places too.
During growing season only solution is your fingers..that's if you don't want to use chemicals.