Whether yelling is successful or not depends on the individual dog. I know if I yell at my hounds, most of them are 'demolished'. And you don't want to frighten him, just stop what he's doing. You have to be one step ahead - if you see something lying around out there, get to him before he gets to it. If he's on a lead, as he should be, it shouldn't be difficult to avoid what's out there. If he's a puppy, he should grow out of this behaviour. Just say No!, firmly, if he does get to something nasty, before he gets into it, and move him round it.