Recently, one of my readers stopped speaking to me.
I didn't know about it until later when everything was okay again. Another one of my readers, when they reached the offending part of CROSSED that had so upset the other reader, threw the book across the room. A third, I'm told, stood up when he reached that portion of the novel and shouted, "Noooo!" at the top of his lungs... in the middle of the night. (I think I owe his wife an apology.) Then there was the reader who sent me an angry and impassioned email, begging me to undo what I had done... if, in fact, I didn't already undo it later in the novel. A few posted things on my Facebook fan page about it.
Of course, they're fine now. Each of the readers I mentioned finished the book and were pleased by what they found at the end, even if it wasn't the ending for which they were hoping (or expecting). And I like to think I held up my end of the writer-reader bargain.
The closest I've ever come to shouting "Nooo!" was on my first read through of Roger Zelanzy's Amber Series. If you haven't read the first five books in the series (there are the best ones, IMHO), you should. They are brilliant urban fantasy written before anyone was calling it that. I won't go into it in detail, but the main character is a very dangerous person from a family of very dangerous persons (a royal family as it so happens) and SPOILER ALERT (skip the the next paragraph if you want to avoid the spoiler): at one point in the series, he gets his eyes burned out by his evil brother, who to all appearances, has won.
If I were ever going to shout "Noooo!", it would have been then. I didn't, of course. I kept reading and reading... and reading. The books are an astonishingly quick read. And Mr. Zelazny gave me the right ending, even if it wasn't the one I expected, because that's the writer's job.
So... how about you? Have you ever shouted at a book, cursed it, or thrown it across the room, only to pick it up again and feel silly for ever doubting the author? If so... wasn't that a cool feeling? :)