Hola sweets
Most caterpillars are specific to a type of plant, for example cabbage white.
The best way to prevent damage to plants by caterpillars is to practice good organic gardening methods which will give you strong, healthy plants which can naturally fight off pests.
Encourage predatory insects and birds
Rotate your crops
Companion plant
Not plant your vegetables in rows
Build up the soil by adding compost and mulch
Handpicking caterpillars off your plants is probably the most environmentally friendly way of getting rid of caterpillars but it is not always effective.
Another option with caterpillars is to just leave them alone. Let them eat what they want and you take the rest. This can work with plants such as cauliflower and broccoli. The caterpillars tend to eat the outer leaves and then leave the rest. If you are happy to share your veges, then go ahead. However, some might end up in your sandwich if you miss them!
A few things you can try include:
Picking them off by hand
Place sticky bands around the base of plants
Spray with an organic pesticide
Do nothing
Another way to control caterpillars is to introduce predatory pests into your garden. Pests of caterpillars include:
Frogs
Lizards
Wasps
If you want to spray, there are a couple of non-toxic pesticides. These may be biodegradable or organic but it’s best to read the label carefully before using them.
B. Thuriengiensis spray
Organic insect spray with pyrethrum such as Beat-A-Bug
Chilli and garlic spray
Biodegradable soap spray such as NatraSoap
Eco Oil
Pest Oil
Personally I think if you have a major problem with a certain pest and you need to keep spraying then perhaps something else should be planted to better suit the environment. But hey that is just a personal opinion

Hope that helps
