There are too many options. The only thing anyone can tell you is to get to the vet immediately as there is likely a serious problem. Wouldn't you go to a doctor if you were throwing up blood or would you wait and see and probably not make it? Hope it all turns out all right.