Another option would be to always use curly braces when you program to avoid these problems. And never copy code without going through it row by row. That would be logical and intuitive, eh?
Or to use google to search for an answer. That would be the logical logical thing to do, eh?
But I have to agree with you on one thing, it could mentioned curly braces in the error, and the actual command ("else"). But you as a developer have to do some part of the work. If everything would be as descriptive as you want it more experienzed developers would grow very tired of it since they would get to much information. Somewhere the developer have to step in, and I think it is pretty good as it is.