Well, constructor's don't have any kind of return value, so, many people use an Init() type function that returns an error code of some sort.
The standard way would be to throw an exception from the constructor. (I dont do that either.)
I would never do anything "complicated" inside the constructor, like loading images, setting up textures, etc. I would just initialise member variables to a known state and leave the other stuff for an init function/method or using getters/setters, depending on the situation. I wouldn't do anything that could throw exceptions inside a constructor. Throwing an exception inside a constructor sounds like a bad thing to me. Is this really the standard way?
Yes, throwing an exception is the standard way of handling a constructor that fails.
I feel offloading work into an init() method is somewhat "hackish" and goes against the RAII principle, not to mention everyone who uses your class has to remember to call init().