Sometimes your dog may not eat enough one night and the next morning it will throw up yellow or
white foam. Then they will also puke if they eat too much, it is a delicate balance. Allergies can also be the cause. Allergies are another thing that they are sensitive towards, when my allergies act up, I take a Claritin before bed, and the dog gets half a Benadryl tablet (about 10mg).
One last thing, Shih Tzu are, again, sensitive dogs. This time I am talking of their feelings.